点开微信相册的时候,想要在相册图片界面跳转查看点赞和评论时,微信会采用界面翻转的过渡动画来跳转到评论界面,好像是在图片界面的背面一样,点击完成又会翻转回到图片界面,这不同于一般的导航界面滑动动画,觉得很有意思,于是自己学着做了一下,其实也很简单,下面是实现的类似的效果图:
博客地址 : http://blog.csdn.net/shulianghan/article/details/50051499 ;
[UIApplication sharedApplication].statusBarHidden = YES;
导航栏 导航栏出现在应用程序屏幕顶部的状态栏下方,并可以通过一系列分层屏幕进行导航。当显示新屏幕时,通常标有前一屏幕标题的后退按钮出现在栏的左侧。有时,导航栏的右侧包含一个控件,如编辑或完成按钮,用于
与屏幕边界 或者与titleView 的间距 只要分别调整rightBarButtonItems 数组元素的顺序。
UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
我们在使用键盘的时候,在打字完毕后想要收起键盘继续操作,要么是习惯性点击界面空白处收起键盘,要么是在键盘上方点击一个“完成”之类的按钮来收起键盘。在Android上键盘的完成按钮是自带的,但是iOS没有,所以需要开发者自行添加上去一个,这里就要用到工具栏UIToolbar。
(1)navigationBar导航栏可以被看作是self.navigationController一个属性导航控制器,它可以由点直接表示self.navigationController.navigationBar。当然navigationBar他还是很物业。让我们风格barStyle、背景backgroundColor、frame属性(能够获取宽高这些信息)。还能够用setBackgroundImage方法设置背景图片。当然图片多了能够使用clipsToBounds剪裁。
项目中根据需求用到了一个界面框架:ViewDeck。项目需要用到左侧右侧各有一个抽屉视图,而这个类库可以极其简单的实现这个功能,不单单是左右各一个,它可以随意设置上下左右的抽屉视图,简直是360度想怎么抽怎么抽,这里记录一下使用方法。
背景 iPhone X 刘海机于9月13日发布,给科技小春晚带来一波高潮。作为开发人员却多出来一份忧虑,iPhone X 怎么适配?我们 App 的脑袋会不会也长一刘海出来?Tabbar 会不会被圆角
<1>功能:它也是ipad的一个新特性,在屏幕上可以同时显示两个控制器,左边一个,右边一个;左边的为主控制器,右边的为详细控制器,主控制器可以根据需要显示或隐藏。它对于iPhone虽然可以使用,但是不具备同时显示的特点,在iPhone的样式,就是导航控制器切换的模式。
UINavigationItem是导航栏上用于管理导航项的类,在上一篇博客中,我们知道导航栏是通过push与pop的堆栈操作来对item进行管理的,同样,每一个Item自身也有许多属性可供我们进行自定制。这篇博客,主要讨论UINavigationItem的使用方法。
在ReactiveCocoa 过程中,除去RACSignal和RACSubject这些信号类以外,有些时候我们可能还需要封装一些固定的操作集合。这些操作集合都是固定的,每次只要一触发就会执行事先定义好的一个过程。在iOS开发过程中,按钮的点击事件就可能有这种需求。那么RACCommand就可以实现这种需求。
对于父级VC与子级VC分别有navigationController的情况,即不是使用push方式加载子VC,而是通过AddChildViewController的方式添加的场景,则父级导航条会覆盖在子级导航条上面,所以需要在载入时把父级导航条做隐藏处理:
-(UIToolbar *)createActionBar { UIToolbar *actionBar = [[UIToolbar alloc] init]; actionBar.translucent = YES; [actionBar sizeToFit]; actionBar.barStyle = UIBarStyleBlackTranslucent; UIBarButtonItem *doneButton = [[UIBarButtonItem alloc
有时候,我们可能需要统一工程中的返回按钮样式,比如都是 箭头+返回 或者都是 箭头。 方案有两种:
1、创建UINavigationItem Category @implementation UINavigationItem (SXFixSpace) +(void)load { [self swizzleMethod:@selector(setLeftBarButtonItem:) swizzledSelector:@selector(sx_setLeftBarButtonItem:)]; [self swizzleMet
Three20是一个很不错的iPhone类库,是facebook共享出来的框架。利用TTThumbsViewController可以很容易的制作出类似flickr的应用,实现缩略图和图片查看功能。
在开发需求时app中使用的导航条在一个模块的主题基本是一致的,因此可通过自定义导航条来进行统一控制。
方案一 自定义 UINavigationController 遵守 UINavigationBarDel 协议 实现下面方法: #pragma mark --------- UINavigationBarDelegate - (BOOL)navigationBar:(UINavigationBar *)navigationBar shouldPushItem:(UINavigationItem *)item { //设置导航栏返回按钮文字 UIBarButtonItem *bac
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/116842.html原文链接:https://javaforall.cn
一。自定义navigationbar - (void)initNavigationBar{ [self.navigationController setNavigationBarHidden:YES]; UINavigationBar *bar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, 320, 32)]; [bar setBackgroundImage:[UIImage imageNamed:@"zhu
侧滑返回手势是从iOS7开始增加的一个返回操作,经历了两年时间估计iPhone用户大部分都已经忽略了屏幕左上角那个碍眼的back按钮了。之前在网上搜过有关侧滑手势的技术博客,发现大多比较散乱,甚至有很多都是简单的粘贴复制,并不全面。侧滑返回的操作效果与左上角的back按钮是一样的,所以一起放在这里进行探讨。 导航栏左上角的back按钮是附着在UINavigationController的UINavigationBar里自带的一个返回按钮,导航栏自带的back按钮的图层结构如下图所示。一个UINavig
UINavigationController 利用UINavigationController,可以轻松地管理多个控制器,轻松完成控制器之间的切换,典型例子就是系统自带的“设置”应用 UINavigationController的使用步骤 初始化UINavigationController 设置UIWindow的rootViewController为UINavigationController 根据具体情况,通过push方法添加对应个数的子控制器 UINavigationController以栈的形
增加了类型为 UINavigationItem.ItemStyle 的属性style用于描述 UINavigationItem 在 UINavigationBar 上的布局,共有 3 种样式:navigator(默认样式),browser(浏览器样式)与editor(编辑器样式)。 // Created by YungFan import UIKit class ViewController: UIViewController { override func viewDidLoad() {
想必大家都用过微信,微信间的页面切换是如何做成的呢?接下来我们用storyboard结合着代码来模拟一下微信的视图控制模式。 "工欲善其事,必先利其器",下面主要是对storyboard来进行我们项目框架的搭建的,必要时,用代码实现我们的页面效果。在IOS开发中常用的多视图间的切换大致有TabBarController, NavigationBarController, 和模态窗口。第一次接触模态的概念是在Web前端的内容中接触的。下面将会结合一个实际的效果来简单的介绍一下TabBar和Naviga
-(BaseNavigationController*)setTabBarItemWithRootVC:(id)vc Image:(NSString*)imgName SelectedImage:(NSString*)selectedImg { BaseNavigationController *nav = [[BaseNavigationController alloc] init]; [nav.tabBarItem setImage:[[UIImage imageNamed:imgNam
之前发表过一篇博客“IOS开发之新浪围脖”,在编写代码的时候太偏重功能的实现了,写完基本功能后看着代码有些别扭,特别是用到的四种cell的类,重复代码有点多,所以今天花点时间把代码重构一下。为了减少代码的重复编写把cell中相同的部分抽象成父类,然后继承。不过也是结合着storyboard做的。在优化时转发的View和评论的View相似,于是就做了个重用。在原来的代码上就把cell的代码进行了重写,所以本篇作为补充,关键代码还得看之前的博客。 1.第一种cell,只有微博内容,没有图片,效果如下:
相信很多同学都知道在iOS7之后调整导航栏两侧按钮距离左右间距,其实就是在左右barButtonItem的数组中添加一个宽度为负的占位item。 - (void)addLeftBarButtonItem:(UIBarButtonItem *)leftBarButtonItem { UIBarButtonItem *space = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace t
iOS中除了UINavinationBar之外,还有工具栏UIToolBar可以供我们使用,工具栏和导航栏十分类似,只是功能更加简单,工具栏中也有UIBarButtonItem按钮,在前两篇博客中,对导航栏和导航项都进行的讨论,地址如下:
在scanview中添加扫描区域 ZBarReaderViewController *reader = [ZBarReaderViewController new]; reader.readerDelegate = self; //CGRect frame= CGRectMake(20, 30, 320, 260); reader.scanCrop= CGRectMake(0.2, .1, .47, .8); 自定义scanview添加一个自定义的扫描框 - (UIView *)
UINavigationBar是一个我们在开发中必定会碰到的控件,用好它能帮助我们自定义导航栏的样式,所以今天讲解一下UINavigationBar的用法。
为了使整个项目的NavigationBar 上的UIBarButtonItem的颜色,字体大小一致,需要设置导航栏主题。
原理:利用系统的返回手势interactivePopGestureRecognizer进行实现
若iOS7之后仍要使用第一种方法全局设置,则需要在plist文件中添加View controller-based status bar appearance 字段,值为NO ,意为不使用控制器管理状态栏。
转载注明出处 : http://blog.csdn.net/shulianghan/article/details/50348982
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIAppli
1. UIEdgeInsetsMake方式 NSInteger inset = App_Frame_Width == 414 ? 10:6; self.navigationItem.rightBar
项目介绍 仿照百思不得姐,通过看李明杰老师视频学习自己实践并简单总结项目开发过程中普遍遇到的问题,并且将可以用到其他项目中的分类方法进行简单总结,便于以后在别的项目中使用。 每天任务 1. 实现相应功能 2. 代码重构,简单优化 第一天任务: 配置项目基本环境 搭建框架 代码重构 配置项目基本环境 一. 接口获取 我们可以通过Charles等工具抓包来获取我们想做的App的接口,然后通过解析将每个接口的数据解析出来。也可以去知乎中有趣的 API 接口推荐找找看。 二. 项目图片获取方式 图片的获
iPad开发简单介绍 iPad开发最大的不同在于iPhone的就是屏幕控件的适配,以及横竖屏的旋转。 Storyboard中得SizeClass的横竖屏配置,也不支持iPad开发。 1.在控制器中得到设备的旋转方向 在 iOS8及以后,屏幕就只有旋转后屏幕尺寸之分,不再是过期的旋转方向。 在iOS7及以前得到屏幕旋转方向的方法 /** // UIInterfaceOrientation ,屏幕方向 UIInterfaceOrientationUnknown = UIDeviceOrientationUn
iOS 14 中引入UIDeferredMenuElement,允许异步地创建 UIMenu,也就是说可以动态在后台配置菜单的内容。
这篇文章只讨论触摸事件。对于触摸事件UIResponder内部提供了以下方法来处理事件:
在iOS开发中经常会用到代理,Swift开发中的代理这样写: 1、首先定义一个协议 // swift中如何定义协议: 必须遵守NSObjectProtocol protocol VisitorViewDelegate : NSObjectProtocol{ // 登录回调 func loginBtnWillClick() // 注册回调 func regiserBtnWillClick() } 2、方法实现 func loginBtnClick(){ del
iOS 8 之后新增了 UIPresentationController 控制器,用于所有的界面转场。在以前,popViewController只适用于iPad。而现在使用UIPopoverPresentationController不再需要对设备进行判断了。 这个控制器的用法我还在摸索中,今天先上一段代码,做到在iPhone像iPad中的pop弹出视图效果。 UIPopoverPresentationController不需要你去创建。苹果官方文档:In nearly all cases, you us
SwiftUI 并未提供可自适应高度的文本框组件,为实现自适应高度则需要继承 UITextField 进而自定义封装一个弹性的文本框组件。 通过更新函数,从该弹性文本框中获得文本内容的高度并将其赋值给组件的高度,即可实现“弹性”伸缩的效果。
iOS/Android 客户端开发同学如果想要开始学习音视频开发,最丝滑的方式是对音视频基础概念知识有一定了解后,再借助 iOS/Android 平台的音视频能力上手去实践音视频的采集 → 编码 → 封装 → 解封装 → 解码 → 渲染过程,并借助音视频工具来分析和理解对应的音视频数据。
UIBarButtonItem 默认是不能 设置 Badge 所以我们可以对它扩展使之支持
领取专属 10元无门槛券
手把手带您无忧上云