博客 (137)

使用 DTS 在迁移 SQL Server 数据库时,若源数据库的版本是 2012,则迁移到 RDS (版本 2008 R2)警告版本不兼容,但是可以正常迁移;若源数据库的版本是 2014,则出现错误,无法迁移。


如果数据量较小,则可以这样操作:

在源数据库上右键 - 任务 - 生成脚本 - 编写整个数据库及所有数据库对象的脚本

接下来应该不用介绍了。


如果数据量较大,用上面的方法就力不从心了,可以:

在源数据库上右键 - 任务 - 导出数据 - 选择数据源(SQL Server Native Client),填写 RDS 的连接信息,下一步

这种方法的缺点是只导数据,会丢失主键、外键、索引等信息,需要重新设置。


当然也可以用 Navicat 的数据传输工具,可以完整地迁移整个数据库,但如果中途出现 Err (毕竟是第三方)则传输会中断,只能重来一遍并取消勾选出问题的那个表,全部完成后再用 SSMS 来单独导那个表,手动添加主键、外键、索引等。

xoyozo 11 年前
4,907
xoyozo 12 年前
5,103

本教程使用 U 盘 OS X 启动盘和 U 盘 Windows 安装盘,硬盘安装稍有不同。

系统安装前

准备工作

制作系统盘

  • 如果 OS X 系统已经无法进入,则只能用 Internet Recovery 重装了(联网下载 5G 左右的安装包)。否则可以进入 OS X,从 App Store 下载最新的 OS X 安装包制作 USB 启动盘。

  • 制作 USB OS X 启动盘教程:适用于 Mavericks(10.9) 及更旧版本、适用于 Yosemite(10.10) 及更新版本

  • 使用 OS X 的 Boot Camp 助手制作 U 盘 Windows 安装盘(若使用一般的 Windows 安装盘,安装完成后会遇到无法安装 Boot Camp 的问题,即使是正确的版本)

 

安装 OS X

版本

  • 本文适用且不限于 OS X 10.8.4 - 10.9.3

分区与安装

  • 插入 USB OS X 启动盘,开机,出现白屏即按住 option / Alt 键,选择相应的启动盘(联网恢复方式:开机按“option”+“command”+“R”,在磁盘工具分区时如果遇到“未能卸载磁盘”,就可以用联网恢复的方式重新分区)

  • 进入磁盘工具,分区:3 个分区:(安装 OS X 的分区必须放在最后)

  • 选中第 3 个分区:Macintosh HD,Mac OS 扩展(日志式),100G,选项:GUID 分区表,用于安装 OS X

  • 选中第 2 个分区:BOOTCAMP,MS-DOS(FAT),100G,用于安装 Windows

  • 选中第 1 个分区:DATA,ExFAT,用于存放数据(公共盘)

  • 应用,退出磁盘工具,选择重新安装 OS X,选择安装在 Macintosh HD 分区

  • 等待约 30 分钟安装完成

  • Finder 中推出并拔除 USB OS X 启动盘

 

安装 Windows

安装

  • 插入 USB Windows 安装盘

  • 在 OS X 中进入:系统偏好设置 - 启动磁盘 - 选择 USB Windows 启动盘 或者 重新启动系统 - 响完“当”且白屏前按住 Option 或 Alt 键,选择 USB 图标的 Windows 项(不是 EFI Boot 那项)

  • 全新安装,选中 BOOTCAMP 分区并格式化,安装。(注:[待测]下次尝试删除全部分区并重新分区,如果能安装并启动成功,就是没有 OS X 的 Windows 单系统了。由于制作 U 盘 OS X 启动盘和 Windows 安装盘都需要在 OS X 环境下进行,所以必须权衡是否真的只需要单系统,否则下次只能用 Internet Recovery 方式重装了)

  • 安装完成后,安装 Boot Camp 支持软件(已集成到 Windows 安装盘内)

  • 必须通过右下角的 Boot Camp 来重启进入 OS X,否则在移除 USB Windows 安装盘的情况下无法进入各系统。(此条为真?待测)

  • 正常弹出并拔除 USB Windows 安装盘

 

其它

Apple Wireless Keyboard

  • 确保设备管理器的蓝牙设备中有 Apple 字样的驱动名称(即蓝牙驱动是通过 Boot Camp 安装的)

  • 打开键盘电源

  • 右击 Windows 任务栏小图标中的蓝牙图标,添加新设备

  • 配对

xoyozo 12 年前
11,590

这里仅记录我个人的安装过程,仅供参考。

安装前的准备

  • 手动备份:数据库、浏览器收藏夹、FTP 站点、Navicat 连接、远程桌面、RaiDrive(点登录)、RSS源、虚拟机镜像、“下载”目录、“桌面”目录、开机启动程序、任务计划程序、iPhone 备份(C:\Users\[用户名]\Apple\MobileSync\Backup)、浏览器插件、自动备份中的差异化文件。

  • 推荐的 Edge 扩展(登录账号会自动同步):Charset、Feedbro、IP Address and Domain Information、JSON Beautifier and Editor、Kimi 浏览器助手、JSONView、Pretty Js、User-Agent Switcher and Manager、Wappalyzer、图片助手(ImageAssistant) 批量图片下载器、猫抓、网页更新提醒、xoyozo 的冲浪助手

  • 桌面图标和开始菜单截图。桌面如果是手动排序图标的,先按分类归入文件夹,以方便系统恢复后按分类摆放。

  • 备份:桌面、Chrome 用户目录、聊天记录、快捷回复、项目、hosts 文件。

    像 QQ、TIM、微信、旺旺、千牛 等即时聊天工具,最好将数据文件目录拷贝一份(包含图片视频等),再打开软件登录帐号进行记录备份(一般不含图片视频等)。这样,在重装系统后,如果还原拷贝的聊天文件不能供聊天软件使用,可以用备份数据恢复。

  • 备份剪映目录,否则重装后需要重新下载素材/字体等,位置:C:\用户\AppData\Local\JianyingPro\User Data\

  • 备份到移动硬盘或 NAS

  • 排查以上未提及的新软件或新设置是否有需要处理或备份的。

  • 清空回收站

  • 确定系统盘所在硬盘和分区和大小,避免在格式化时选错硬盘分区。

  • 外星人电脑开机按 F2 进入 BIOS,F12 选择启动设备。

设置

  • 这台电脑(右键)- 属性 - 高级系统设置 - 高级 - 性能设置 - 高级 - 更改 - 去掉“自动管理所有驱动器的分布文件大小”前的勾,选择 SSD 分区的分布文件为系统管理的大小,点设置,其它分区无分布文件,点设置 - 确定

  • 以上是在 SSD 空间足够的情况下,如果不足,那么可以分配到其它分区。

  • Windows 更新、并在高级选项中开启(更新 Windows 时接收其它 Microsoft 产品的更新)

安装驱动

  • 目前的 Windows Update 已经可以安装大部分驱动了,如果设备管理器中还有警示图标,或者有些硬件功能不能启用,那么可以前往对应品牌的官网下载,如联想驱动安装工具、戴尔驱动程序,其它可使用驱动精灵。

安装 Office

  • 安装 Office 批量授权版

  • 立即安装即可,不要更改路径。

恢复数据

  • Chrome 目录(C:\Users\[用户名]\AppData\Local\Google\Chrome\User Data\Default\)

  • QQ 记录(默认路径:C:\Users\[用户名]\Documents\Tencent Files)

  • 微信记录(默认路径:C:\Users\[用户名]\Documents\WeChat Files),微信记录可能会不能使用

  • 视情况删除非系统盘的 \Program Files、\Program Files (x86)、\Users\xoyozo\AppData 等

应用程序

  • 安装 Edge。

  • 先安装 SQL Server,再安装 Visual Studio(如欲同时安装低版本 VS,先安装低版本,再安装高版本)

  • 安装 Adobe

  • 安装其它软件

  • 替换 hosts,若出现安全软件警告,信任即可。

激活 Windows、Office、Adobe 等:

  • 嗯

细节

  • Win10 任务栏单击“文件资源管理器”打开“此电脑”的设置方法:打开任意文件资源管理器窗口,菜单 - 查看 - 选项,将“打开文件资源管理器时打开”改为“此电脑”

  • Win10 任务栏日期显示星期:控制面板 - 更改日期、时间和数字格式 - 其他设置 - 日期,将短日期改为:yyyy/M/d ddd

  • 如何在 Windows 11 任务栏时间上显示“秒”

  • 随系统启动程序的目录(所有用户):C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

  • 随系统启动程序的目录(单个用户):C:\用户\[用户名]\AppData\Roaming\Microsoft\Windows\「开始」菜单\程序\启动,(即:C:\Users\[用户名]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup)

  • 自带的微软五笔已经提供五笔拼音混打了,所以抛弃QQ五笔了

  • Win10系统怎样让打开图片方式为照片查看器

  • 设置 Navicat 自动运行。

  • 设置电源相关

  • SQL Server 按需设置启动/禁用:SQL Server 配置管理器 - SQL Server 服务 - 右侧双击选择实例 - 切换到“服务”选项卡 - 启动模式


xoyozo 12 年前
21,846
快捷键

 

真机同步:Ctrl + R

注释/取消注释代码:Ctrl + /

整理代码:Ctrl + Shift + F

判断系统是否为 iOS 7 及以上版本
var iOS7AndLater = api.systemType == 'ios' && parseFloat(api.systemVersion) >= 7;
// api.systemVersion 结果类似 4.5.6,parseFloat 后 iOS 为 4, Android 为 4.5
swipedown 和 swipeup 失效原因
api.addEventListener({
    name:'swipedown'
},function(ret,err){
    //operation
});
api.addEventListener({
    name:'swipeup'
},function(ret,err){
    //operation
});

有时候在监听 swipedown 和 swipeup 事件时没有进入 callback,原因是打开这个 window 或 frame 时,bounces 是 true 的,只要将 bounces: false 即可。

其它未整理的笔记
api.showProgress();
api.hideProgress();

api.openFrame({
  name
  url
  rect
});

api.openFrameGroup

api.openWin

api.setRefreshHeaderInfo({},function(ret,err){
  // coding...
  alert("正在用力刷新");
  api.refreshHeaderLocalDone();
});


localStorage.setItem("xxx",ret.id);
if(localStorage.getItem("xxx")){ }

 

 

xoyozo 11 年前
7,219

本教程使用的软件版本:

VMware Workstation 12 Pro for Windows

Mac OS X Unlocker for VMware V2.0.6
一个能让虚拟机 VMware 安装 OS X 系统的解锁补丁

OS X 10.10.5 Yosemite (14F27) 懒人版 CDR 镜像
CRC32: C7E1E915
MD5: A76FF6E43058A40182435D274D9EB976
SHA-1: 7DDC194E779B003AFDCF2B7C11BEB6D4443F8D72

安装步骤:

1、安装 VMware Workstation

2、新建虚拟机:选择 典型 - 稍后安装操作系统,当然现在还看不到 Apple Mac OS X,先退出 VMware

3、安装 Unlocker

4、重复第 2 步,选择 Apple Mac OS X,并选择对应的 OS X 版本,后续跟据情况自行配置

5、编辑虚拟机设置 - CD/DVD(SATA) - 使用 ISO 镜像文件 - 浏览 - 所有文件(*.*),定位到 .cdr 镜像文件

6、开启此虚拟机

7、如果报错:VMware Workstation 不可恢复错误: (vcpu-0),打开新建虚拟机时指定的位置(默认在 C:\Users\用户名\Documents\Virtual Machines\虚拟机名\),用记事本打开 .vmx 文件,添加一条配置:smc.version = "0",保存关闭后重新开启虚拟机

8、如果屏幕中央出现一个禁止的图标,那么表示当前版本的 VMware 不支持安装当前版本的 OS X

9、如果在“选择要安装到的磁盘”界面仅列出了镜像文件而无法继续安装,请在窗口顶部的菜单栏中选择 实用工具 - 磁盘工具,选中新建虚拟机时创建的磁盘,切换到“分区”选项卡进行分区操作,简单地可以选择“1 个分区”,点击“应用”、“分区”,退出磁盘工具。现在可以把 OS X 安装在刚刚创建的分区上了

10、继续愉快地安装和使用 OS X 吧!

使用此方法将 OS X 安装到物理磁盘并支持开机直接运行,请参考此文:超详细 (60P)利用虚拟机安装10.9.4(懒人版)到真机教程

xoyozo 11 年前
5,600

关于wdcp后台要用mysql root用户密码的说明,可以看这里
http://www.wdlinux.cn/bbs/thread-932-1-1.html

要在wdcp后台里创建数据库及数据库用户,那就必须要让wdcp里有root用户密码,否则,就无法创建

所以,有些用户说,在phpmyadmin修改了root用户密码后,就无法创建了,那是肯定的,因为你改了root的密码,但wdcp不知道,也不知道新密码是什么,那还能创建吗?答案是 肯定是不能的

那要怎样正确地修改root用户的密码呢?难道就不难修改了吗,当然不是

只要在wdcp的后台里修改就可以了,所以也强烈建议在wdcp后台里修改,如下图
wdcp1055.jpg wdcp1056.jpg 

那如果已经修改了或在其它地方修改了还有办法吗
有,可以上面那个连接的说明

又或者用这个工具修改,wdcp2.2版本开始提供
用ssh登录到服务器上运行
sh /www/wdlinux/tools/mysql_root_chg.sh
就可以了

这个工具修改,还可以用在忘记root用户密码的时候修改,是强制修改

注:这里说的root用户,是mysql数据库里的root用户,不是Linux系统的root用户,有区别的

w
转自 wdlinux 15 年前
4,677

原文:http://mathewsanders.com/designing-adaptive-layouts-for-iphone-6-plus/
翻译:叮当当咚当当小胖妞呀

从IOS6开始,苹果公司就一直建议我们使用自适应布局,但是迄今为止,我发现大家都在回避这个问题,考虑的最多的仍然是固定布局。

iPhone 6的上市让人们很难再去逃避自适应布局这个问题,四种屏幕尺寸(如果要支持iPad就要上升到5种)、三种分辨率和转向似乎让着手于自适应布局变得更加简单。

在文章的最后,你应该能流畅使用 storyboards、 约束(constraints)和 size class特性,这三个是Apple为开发和制作自适应布局提供的Xcode工具。

所以下载Xcode6,给自己来杯饮料,留上一个小时的时间,让我们开始吧!

  • Storyboards
    • 模拟尺寸
  • 约束
    • 头部和尾部空间
    • 横向空间约束
    • 同等宽度约束
    • 纵横比约束
    • 约束管理
      • 添加约束
      • 检查和编辑现有约束
      • 删除约束
    • 布局问题和冲突
      • 错位视图警告
      • 约束缺失错误
  • Size Classes
    • 宽度和高度特性
    • 我们的目标…
    • 为通用的size class添加约束
    • 为iPhone纵向布局添加约束
    • 为iPhone横向布局添加约束
    • 编辑助手:设备预览
    • 为iPad布局添加约束
  • 使用布局和间隔视图
    • 布局视图样例
    • 间隔视图样例
  • 下一步

Storyboards

Xcode中,storyboards可以让你在屏幕上拖动和放置原生对象(例如按钮、图片、文本框和标签)并且定义每个屏幕之间如何连接。

在Xcode专业术语中,可以看到、摸到、互动的用户界面元素,我们称之为 视图(按钮、图片、文本框、标签等等)。

包含并管理所有那些视图的屏幕被称为 视图控制器,我倾向于交替使用这些术语。

当我们在一个storyboard上添加视图控制器的时候,它的纵横比其实跟任何设备都不匹配,事实上,它是一个完美的600pt*600pt的正方形:

这提醒了我们,storyboard屏幕并不代表特定硬件上的屏幕,而是 任何IOS设备的抽象表现。

模拟尺寸

也许你不介意在600pt*600pt的画布上操作,但是在实际大小上操作可能会更有帮助。

我们可以非常方便的在Xcode里改变视图控制器模拟的尺寸和转向:

约束

向你们展示约束的最好方法是实例。

我们先创建一个简单的包含一个屏幕的storyboard(模拟4英寸iPhone的尺寸),再添加两个相邻的正方形。

当我们在竖屏中运行app的时候,这两个正方形完全按照我们的布局排列,当我们变成横屏时,它们仍然忠于自己的坐标:

当我们使用iPhone 6模拟器运行项目的时候,我们可以再一次看到,我们的布局并没有自适应不同的屏幕尺寸,屏幕右边多出了可见的空白区域。

这是由于没有约束,这些对象仍然会按照我们在storyboard上创建的x,y坐标和面积来定位。

所以让我们开始添加约束,看看会对它们有些什么影响。

头部和尾部空间

我们在蓝色方块前添加10pt的头部空间约束,在红色方块后添加10pt的尾部空间约束。

当我们运行项目的时候,约束把蓝色方块固定在屏幕左侧,把红色方块固定在右侧。

横向空间约束

我们在两个方块之间再添加一个10pt的横向空间约束,就像上一个约束一样,这样会让两个方块之间有一个固定的空间。

当我们运行项目的时候,会发现一个意料之外的结果:我们所有的约束都满足了,但是为了满足所有约束,其中一个方块被拉伸了。

这似乎告诉我们这样一件事:除非被告知,否则IOS会尽量让大多数对象都保持“自然”大小。

同等宽度约束

我们添加一个同等宽度约束。

当运行项目的时候,我们可以看到两个方块宽度的增量相同。

纵横比约束

最后,对两个方块添加纵横比约束。

这个约束保证了宽度和高度的比永远是相同的。

当我们运行app的时候,我们可以看到每个方块的宽度在增加,高度也同时在增加。

用iPhone 6模拟器运行项目,覆盖我们之前添加过的约束,你可以看到这两个正方形是如何利用可用空间来拉伸的。

约束管理

现在你已经看到了我们是如何使用约束的,下面我们来介绍一下具体操作。

提示:尽量少使用约束

添加约束的一个要点是试着挑战自己,越少使用约束越好。

虽然我并不认为添加的约束数量能够很大程度上影响IOS的性能,但是越少的使用约束,你的布局就会越好维护。

添加约束

在storyboard中添加约束有三个方法:

  1. 约束弹窗也许最好的方法就是选择一个或多个对象,从其中一个弹窗中添加约束。我认为这是个很好的方法,因为可以看到现有约束的范围。如果有一条约束不可用,可能就意味着你需要两个或更多对象来实施这条约束。
  2. ctrl + 拖动你可以按住ctrl键,同时拖动到一个对象上(可以是相邻对象、父级对象或者是自身),会出现一个浮层告诉你可以被添加的约束有哪些。这是我最喜欢的添加约束的方法,因为你不需要把你的鼠标移动到大老远的底部再回到对象。
  3. 菜单/绑定你也可以选择一个或多个对象,在菜单中点击 editor -> pin来选择约束,这其实是最没有效率的方法,但是如果你发现自己不停的重复添加一种约束,也许为一个或多个选项添加绑定更合理一点。

检查和编辑现有约束

检查视图中应用的约束最简单的办法就是选择视图,切换到Size检查面板。

或者在文档大纲层次面板中切换constant数值。

无论是哪种方法,选择约束可以让你直接更新它。

删除约束

同样的,约束也可以通过高亮+点击删除按钮来删除。

要删除一个视图的所有约束,或者屏幕中的所有约束,在布局问题弹窗中有一条捷径:

布局问题和冲突

当我们在storyboard中添加约束的时候,Xcode总会给出一些关于这些约束的警告或者错误。

有时候这些问题可以忽略不计,但是更多的时候,它们必须被解决。

查看约束警告和错误最好在文档大纲面板中,每个视图控制器会有一个红色或者黄色的icon来表示是不是有布局问题:

错位视图警告

一个比较常见的警告是错位视图警告,如果约束规定这个视图应该在的地方,和这个视图实际在的地方不匹配,那么这种警告随时会出现。

当你转换模拟尺寸或者不小心用鼠标移动了一个视图,这些警告也会出现。

点击一个错位的视图,屏幕上会出现一个虚线框,告诉你约束规定了这个视图应该在的位置。

如果点击警告,会出现一个带有几个选项的浮层,你可以选择让Xcode更新约束来匹配storyboard上的位置,也可以让Xcode更新框架来移动或者拉伸视图,使它们回到约束规定的位置。

缺失约束错误

让我们回到一开始蓝方块和红方块的例子,我们没有添加过一个关于纵向位置的约束,但当我们运行app的时候看起来完全没问题,因为IOS会认为纵向位置就是我们在storyboard上放置的位置,不过为了避免一些意料之外的行为,我们最好还是规定一下。

在 顶部布局向导添加顶部空间约束可以消除一些说不定道不明的约束和错误。

Size Classes

为了在大多数基础布局或者更高级的布局上使用约束,你需要同时使用size classes。

Size classes是一种能够告诉你物理设备宽度和高度的特性。

当我们在storyboard的屏幕上添加对象或者约束时,只有设备符合当前的宽高特性,对象才会显现,约束才会被应用。

这是一个非常有用的方法,它让我们确定了不同设备和转向下布局的变化。

高度和宽度特性

使用 紧凑(compact)、 任意(any)和 正常(regular)这三种的组合,可以让我们确定一些范围内的设备布局。

虽然不能涉及每一个变化(比如不能确定iPhone 6 Plus的竖向模式,也不能让iPad的转向消失),但是大多数的变化都可以确定。

我们说过,介绍size classes最简单的方法是实例,所以让我们看一个例子。

我们的目标…

作为例子,我们做一个Instagram详情页的简单版本,可以适应大屏和转向。

我们的目标是创建一个布局,它可以机智的适应更大的iPhone 6设备(我说的机智,是指只有照片会放大,其他的元素如头像照片仍然不变),并且当设备横屏的时候,图片和元数据会并肩排列,而不是像竖屏时的上下排列。

为通用的size class添加约束

跟之前的例子不同,这次我们不使用模拟尺寸度量,我们使用通用size class的抽象方形布局,这样会使我们记住,为这个size class添加的任何视图和约束,只能是那些添加在任意屏幕尺寸和转向上的视图和约束。

我们需要用到这些约束:

除了必要的空间、间隙和纵横比约束,我们还需要让某些对象排列在顶部或者底部。

现在,在你的storyboard上添加视图和约束吧。做这步的时候,我的storyboard长这样:

注意,现在我们有了所有转向上所需要的元素,但是我没有费心完成每个转向上的布局,下一步我们才会做!

为iPhone纵向布局添加约束

现在,我们把size class切换到 紧凑宽度和 正常高度,这个尺寸特性的组合适用于任何竖屏下的iPhone设备。

如果要切换size classes,点击storyboard中下方的size class标签,选择你想要看到的宽高组合。

注意,当你切换size class时,视图控制器的尺寸会更新来显示新的抽象布局。

最后,你可以重新定位、拉伸视图和添加竖屏上的约束了。这里有一些我添加到竖向布局上的约束:

这是我做到这步时,我的storyboard的样子:

在这个阶段,你可以用任何的iPhone模拟器(3.5、4、4.7或者5.5英寸屏幕)来运行你的项目,看看竖屏情况下的布局是否合理,虽然如果转向成横屏时,布局看上去会一团糟。

注意,我们没有固定图片的宽度,我们只是简单地把图片的左右边缘固定在屏幕两侧。当变为更大的iPhone 6屏幕尺寸时,图片会被拉伸,又因为我们添加了一个固定图片纵横比的约束,所以高度也会同时增加。

为iPhone横向布局添加约束

现在切换size class到 任意宽度和 紧凑高度,这种尺寸特性的组合适用于任何横屏下的iPhone设备,并且会为了满足横屏视图下的目标更新布局。

这次,图片的顶部、左边和底部边缘都被固定在父级视图的边缘。

这个局部另一个有意思的地方是,在评论标签上添加的尾部空间约束。

当图片的约束使得图片变大的时候,这个标签上的约束会使得自身变窄。为了适应这种视图下的文本,文本高度需要增加到两行——的确如此!

下图是我做到这步时storyboard的样子。注意,在文档大纲中,一些约束会稍稍渐隐,这些约束是在竖向视图中我们添加的,它们仍然存在,但是当我们选中当前的宽高特性时,它们不会被应用。

也要注意,当你转换宽高特性时,storyboard会更新以便显示你为那些特性增加的约束。太棒了!

现在运行项目,我们会发现当转向改变时,我们有了一个既适用于横屏又适用于竖屏的布局,更棒的是在转向时,会有一个完美的过渡动画。

我把整个过渡动画放慢,这样你们能看的更加清楚。注意动画中也有层级关系,正由于此,即使在正常布局下视图并没有重叠,我们也需要考虑如何安排视图的层级关系……

编辑助手:设备预览

Xcode另外一个很有用的东西:设备预览助手。你不再需要无数次运行项目来检查你的布局是否正确,你只需要使用编辑助手storyboard预览,选择你想要的所有设备和转向就可以了。

这并不是完美的(比如导航条的颜色在这个例子中缺失了),但是它却是一个很好地选择,它可以让你把你自己的语言切换到双倍长度伪语言,可以在你的storyboard中重复任何文本。

这是我storyboard上的预览助手,它展示了一个3.5英寸横屏和4英寸竖屏的iPhone,你可以看到我还需要再加工加工来适应更长的标签……-_-

为iPad布局添加约束

现在,切换size classes到 正常宽度和 正常高度,这是iPad横屏和竖屏的特性。

就像之前一样,我们重新定位、拉伸我们的视图。对于iPad布局,我决定使用固定尺寸的图片(所以它不会像在iPhone上那样切换横竖屏时会改变大小),元数据都显示在图片底部。

下图是我在重新排列视图并添加了约束之后的storyboard:

到现在为止,我们为某些特别的size class特性添加了约束,但是现在我们要尝试些不同的东西。

由于iPad上会有多余的空间,我们不要仅仅只是重排视图,让我们来加一点额外的内容。对于这个例子来说,我们再加两张图片(也许是在这张主照片之前和之后拍摄的照片)。

这是我的storyboard更新之后的样子:

我原本可以手动输入这些次级图片的宽高,但我没有,取而代之的是我让它们的尺寸变成主图片的某个比例。

这样做的好处是如果我们决定改变主图片的尺寸,布局的其他部分会自动的计算并且更新次级图片的宽高,而不用我们手动输入。

这是一张我截的图,我改变了主图片的宽度约束,可以看到其他的部分也随之更新了。

我没有在iPad模拟器上运行项目并截屏,不过这里有一些横屏和竖屏的效果图:

使用布局和间隔视图

Xcode中有些约束我们可以随时运用,但是对于一些些常见的布局,我们需要一点帮助。

布局视图样例

要把一个视图的边缘固定在父级视图的边缘,或者把它固定在父级视图的正中心是件很简单的事情,~~但是我没有发现简便的方法,让视图固定在离正中心有一段固定距离的地方。~~感谢Jeff Nouwen指出,在把视图固定在中间后,你可以改变constant值来达到你的期望。

理论上来说,我们需要的是一个‘ 中心排列导向’,即任何视图都能水平和垂直居中与父级视图中:

为了实现这个目标,通过现在我们可以使用的约束,我们把我们的视图嵌入一个外层视图(这个外层视图没有背景色,只是为了帮助我们布局而存在),可以把它定位在父级视图的中间。

通过这个方法,你的约束看起来可能像这样:

现在我比较喜欢让我的布局层级尽量平。另外一个不使用外层视图的方法,我叫它 布局视图。

使用这种方法,我倾向于在storyboard中添加一个颜色明亮的视图,然后把它的hidden属性设置为true,你仍然可以在storyboard布局中看到它(虽然稍稍渐隐),但是运行模拟器的时候它不会出现。

现在你在你的视图和布局视图中可以添加 居中排列(align center to center)。

间隔视图样例

之前我们看到了我们是如何固定视图边缘到父级视图边缘的间隙,使得当父级视图变大时,间隙约束也会让视图变大。

但是如果我们想要视图仍然保持原来的大小,在父级视图变大时,视图之间的间隙也变大呢?

理论上来说,我们想要某种类似 同等宽度约束的约束,只不过同等宽度约束是作用在视图上,我们想让它作用在约束上。

此时我们需要添加 间隔视图来帮助我们布局,但由于我们不想在运行app时看到它们,我们会把它们的hidden属性设置为true。

使用这项技术的方法,是为每一个你想要等比增长的间隙添加一个间隔视图,把其他视图的边缘固定在间隔视图的边缘上,然后为所有的间隔视图添加 同等宽度约束。

下一步

现在希望你们已经完全有信心开始探索应用约束的布局了。

不要指望能即刻成功,Xcode是一个非常复杂的工具,除了storyboard和约束之外它还有很多其他功能,有些功能刚开始使用会觉得很神秘和困惑。就像其他复杂的工具一样,在你熟悉它的怪癖之前你还需要一段适应时间,但是我建议你尽早的去熟悉它,因为我预计(至少我希望)下一代设计师会更多地使用Xcode这样的工具而非Photoshop。

如果你是一位创建设计规范的设计师,并想让IOS开发者遵循你的规范,你应该开始考虑和你的设计团队沟通的最好方法。也许你会创建一个视觉语言来描述你想要应用的约束。

我个人认为,设计师应该更多地承担一些他们创建工作上的责任,而不是让一个前端开发人员重新创建设计意图,而设计师只是管理storyboard文件。

如果你发现这个教程上有任何难以理解的地方,或者有错误的敌方,请让我知道,我会尽快更新这篇文章。

携
转自 携程设计委员会 12 年前
5,897

版本区别

功能特性 Windows RT Windows 8
(标准版)
Windows8 Pro
(专业版)
Windows 8 Enterprise
(企业版)
与现有Windows 兼容 无 有 有 有
购买渠道 在设备上预装 大多数渠道 大多数渠道 经过认证的客户
架构 ARM (32-bit) IA-32 (32-bit) or x86-64 (64-bit) IA-32 (32-bit) or x86-64 (64-bit) IA-32 (32-bit) or x86-64 (64-bit)
安全启动 有 有 有 有
图片密码 有 有 有 有
开始界面、动态磁帖以及相关效果 有 有 有 有
触摸键盘、拇指键盘 有 有 有 有
语言包 有 有 有 有
更新的资源管理器 有 有 有 有
标准程序 有 有 有 有
文件历史 有 有 有 有
系统的重置功能 有 有 有 有
Play To “播放至”功能 有 有 有 有
Connected standby保持网络连接的待机 有 有 有 有
Windows Update 有 有 有 有
Windows Defender 有 有 有 有
增强的多显示屏支持 有 有 有 有
新的任务管理器 有 有 有 有
ISO 镜像 and VHD 挂载 有 有 有 有
移动通信功能 有 有 有 有
Microsoft 账户 有 有 有 有
Internet Explorer 10 有 有 有 有
SmartScreen 有 有 有 有
Windows 商店 有 有 有 有
Xbox Live 程序 (包括 Xbox Live Arcade) 有 有 有 有
Exchange ActiveSync 有 有 有 有
快速睡眠(snap) 有 有 有 有
VPN连接 有 有 有 有
Device encryption 有 无 无 无
随系统预装的Microsoft Office 有 无 无 无
桌面 部分 有 有 有
储存空间管理(storage space) 无 有 有 有
Windows Media Player 无 有 有 有
Windows Media Center 无 无 需另行添加 无
远程桌面 只作客户端 只作客户端 客户端和服务端 客户端和服务端
从VHD启动 无 无 有 有
BitLocker and BitLocker To Go 无 无 有 有
文件系统加密 无 无 有 有
加入Windows 域 无 无 有 有
组策略 无 无 有 有
AppLocker 无 无 有 有
Hyper-V 无 无 仅64bit支持
Windows To Go 无 无 无 有
DirectAccess 无 无 无 有
分支缓存(BranchCache) 无 无 无 有
以RemoteFX提供视觉特效 无 无 无 有
Metro风格程序的部署 无 无 无 有

下载地址

根据下面的 SHA1 或文件名在网上搜索下载地址,下载完成后验证其 SHA1 即可。

Windows 8 (x86) - DVD (Chinese-Simplified)
文件名: cn_windows_8_x86_dvd_915414.iso
SHA1: 0C4A168E37E38EFB59E8844353B2535017CBC587


Windows 8 (x64) - DVD (Chinese-Simplified)
文件名: cn_windows_8_x64_dvd_915407.iso
SHA1: A87C4AA85D55CD83BAE9160560D1CB3319DD675C


Windows 8 Pro VL (x86) - DVD (Chinese-Simplified)
文件名: cn_windows_8_pro_vl_x86_dvd_917720.iso
SHA1: EEEF3C3F6F05115C7F7C9C1D19D6A6A6418B5059


Windows 8 Pro VL (x64) - DVD (Chinese-Simplified) 推荐
文件名: cn_windows_8_pro_vl_x64_dvd_917773.iso
SHA1: 9C4EC9FC4FB561F841E22256BC9DEA6D9D6611FF


Windows 8 Enterprise (x86) - DVD (Chinese-Simplified)
文件名: cn_windows_8_enterprise_x86_dvd_917682.iso
SHA1: 951565D8579C5912FB4A407B3B9F715FBDB77EFE


Windows 8 Enterprise (x64) - DVD (Chinese-Simplified)
文件名: cn_windows_8_enterprise_x64_dvd_917570.iso
SHA1: 1280BC3A38A7001FDE981FA2E465DEB341478667

激活方式

目前流行 KMSmicro 激活,写此文时的最新版本是 4.0,下载地址网上搜之(或联系我)。

8,094

evasi0n 是由 pod2g、planetbeing、pimskeks、肌肉男四名黑客组成的 evad3rs 越狱梦之队发布的 iOS6 完美越狱工具。可以完美越狱 iOS6.0、iOS6.0.1、iOS6.0.2、iOS6.1、iOS6.1.1 和 iOS6.1.2 等多个固件版本的所有 iOS6 设备(AppleTV 除外)。

 

下载地址:http://evasi0n.com/

xoyozo 14 年前
5,268