Demo下载地址
1.创建一个新的工程,在storyboard里面删除已有的vIEwController,拖入一个UISplitvIEwControloler.
2.删除Navigation vIEw,建立splitvIEwController 与 tableVIEwControl之间的联系,选择 master vIEwController,
3.将tablevIEw的content修改成static,添加多个cell
4.添加多个UIVIEwController,并和cell建立关联。
5.实现UISplitVIEwController的子类,指定侧边栏的宽度,取消手势事件:
overrIDe func vIEwDIDLoad() {
self.preferredPrimaryColumnWIDthFraction =0.2
self.presentsWithGesture =false;
}
将storyboard中的splitVIEwController的关联类修改成实现的UISpliteVIEwController的子类
6.给添加的detail VIEwController 添加实现类,
class VIEwController: UIVIEwController {
overrIDefunc vIEwDIDLoad() {
super.vIEwDIDLoad()
//添加menu button
var btnShow = UIbutton(frame: CGRectMake(10,20,100,30));
btnShow.setTitle("Menu",forState:UIControlState.normal);
btnShow.addTarget(self,action:"showMenu:",forControlEvents: UIControlEvents.touchUpInsIDe);
btnShow.backgroundColor = UIcolor.grayColor();
self.vIEw.addSubvIEw(btnShow);
}
// button event
func showMenu(sender:UIbutton){
//animation when change sIDebar
UIVIEw.animateWithDuration(0.5,animations: {() in
if self.splitVIEwController!.preferredDisplayMode == UISplitVIEwControllerdisplayMode.AllVisible{
//hIDe sIDebar
self.splitVIEwController!.preferreddisplayMode = UISplitVIEwControllerdisplayMode.PrimaryHIDden;
}else{
//show sIDebar
self.splitVIEwController!.preferreddisplayMode = UISplitVIEwControllerdisplayMode.AllVisible;
}
})
}
overrIDefunc touchesEnded(touches:Set<NSObject>,withEvent event:UIEvent) {
//hIDe sIDebar when tap detailVIEwController
UIVIEw.animateWithDuration(0.5,animations: {() in
if self.splitViewController!.preferreddisplayMode == UISplitVIEwControllerdisplayMode.AllVisible{
self.splitVIEwController!.preferreddisplayMode = UISplitVIEwControllerdisplayMode.PrimaryHIDden;
}
})
}
}
OK,简单的侧边栏实现了:
可以根据实际需要设置侧边来是ovelay 还是sIDebysIDe:
总结
以上是内存溢出为你收集整理的最简单实现侧边栏的方法----UISplitViewController全部内容,希望文章能够帮你解决最简单实现侧边栏的方法----UISplitViewController所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)