iOS9编程GOGOGO:XCode7新变化

时间:2022-08-31 19:04:51

做一个关于栈视图 UIStackView的Demo,先看看XCode7的变化

关于StoryBoard:

启动画面由xib变为Storyboard 
iOS9编程GOGOGO:XCode7新变化
StoryBoard引用: 
现在可以在一个StoryBoard中添加对另外一个StoryBoard的引用,在多个SB中进行切换不用再写代码了,如图: 
iOS9编程GOGOGO:XCode7新变化
以前的方式(SWIFT):

<code class="language-swift hljs avrasm has-numbering" style="display: block; padding: 0px; background-color: transparent; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; word-wrap: normal; background-position: initial initial; background-repeat: initial initial;">override func viewDidLoad() {
        super<span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.viewDidLoad</span>()

        var sb : UIStoryboard
        let del = UIApplication<span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.sharedApplication</span>()<span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.delegate</span> as! AppDelegate
        sb = UIStoryboard(name: <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"LaunchScreen"</span>, bundle: nil)
        del<span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.window</span>?<span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.rootViewController</span> = sb<span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.instantiateInitialViewController</span>()

    }</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right;"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li></ul>

现在直接拖拽对应的action到想要跳转的StoryBoard Reference即可

关于栈视图: 
1.拖拽一些控件出来:


iOS9编程GOGOGO:XCode7新变化
2.选中这些控件,点击autolayout按钮组左边那个新按钮,stack!


iOS9编程GOGOGO:XCode7新变化
3.他们被组合到一个垂直的栈视图中(P.S.栈视图只能水平或者垂直二选一)


iOS9编程GOGOGO:XCode7新变化
4.修改栈视图的Axis,改成水平的,看看效果:


iOS9编程GOGOGO:XCode7新变化
5.这样控件之间的间距没有出来,我们修改分布属性,由Fill改为等间距,然后给个值20,控件之间自动以20的距离散列在整个栈视图


iOS9编程GOGOGO:XCode7新变化 
6.还可以统一制定对齐方式,比如垂直栈,统一左对齐,效果: 
iOS9编程GOGOGO:XCode7新变化
7.为这个栈视图创建插座,看看如何用代码操作它的子视图: 
iOS9编程GOGOGO:XCode7新变化
8.获取它的子视图通过arrangedSubview属性,返回一个有顺序的视图数组: 
iOS9编程GOGOGO:XCode7新变化 
9.取这个数组的1下标,那么就是这个slider,修改他的value为0.9,那么运行出来就会滑动至90%处: 
iOS9编程GOGOGO:XCode7新变化

版权声明:本文为博主原创文章,未经博主允许不得转载。