: -- image (普通) : 访问或设置该控件显示的图片; -- HighlightedImage (高亮) : 设置图片处于 高亮状态 时显示的图片; (3) 动画显示方法 UIImageView...设置进度条完成的图片; -- 注意 : 该属性在 Interface Builder 中没有体现出来; (6) trackImage 属性 trackImage 属性 : 设置进度条轨道图片; -- 注意...: 其中的 Connection 属性, 不要选择 IBOutlet 属性, 选择 IBOutletConnection 属性; -- 将想要添加到 IBOutletConnection 中的控件拖动到..., buttonIndex 是点击的按钮的索引; -- "- (void) willPresentAlertView : (UIAlertView *) alertView" 方法 : 对话框将要显示时激发该方法...; -- UIAlertViewStyleLoginAndPasswordInput 枚举值 : 警告框中包含 用户名 密码输入; 访问输入框方法 : -- "- (UITextField *) textFieldAtIndex
行列属性读取方法 UIPickerView 行列属性读取方法 : -- "numberOfComponents" 方法 : 获取 UIPickerView 中的可选的列表的选项个数; -- "numberOfRowsInComponent...http://blog.csdn.net/shulianghan/article/details/50348982 (2) 关联多项 UIPickerView 示例代码 示例代码 : -- 解析 : 在...:1 animated:YES]; //第一项 即 键值, 第二项 根据字典中的键值 选择 对应集合中的第一个元素 message = [NSString...; -- "webViewDidStartLoad" 方法 : 开始加载网页时激发的方法; -- "webViewDidFinishLoad" 方法 : 结束加载网页回调的方法; -- "webViewDidFailLoadWithError..." 方法 : 加载出现错误回调方法; 3.
文本, 图片, 格式; -- Default : 默认状态; -- Highlighted : 用户碰触时的高亮状态; -- Selected : 被选中时的状态; -- Disabled : 禁用状态...设置下面的属性; -- Placeholder 属性 : 设置 "请输入密码" 提示字符串; -- Clear Button 属性 : 设置 "Appear while editing" 选项, 当编辑时出现取消按钮...中; -- 设置 IBOutlet 参数 : -- 自动生成的代码 : @property (strong, nonatomic) IBOutlet UITextField *userName...设置按钮内容 : //向导航条中加入按钮 bar.items = [NSArray arrayWithObjects:self.navItem, nil]; //创建导航条中的按钮...resignFirstResponder]; } @end -- 展示效果 : 点击 Done 即可关闭按钮; (4) 自定义键盘附件关闭虚拟键盘 自定义键盘附件 : -- 作用 : 不是所有的应用都有导航栏, 在没有导航栏的应用中
视图的frame、bounds、center属性仅仅是存取方法,当操纵视图的frame时,实际上是在改变视图对应的CALayer的frame, 不能独立于图层之外改变视图的frame....但是图层的anchorPoint可以被移动。我们可以把anchorPoint置于图层frame的左上角。将会出现下图右侧的情况: ?...处理代码如下: // 在viewdidload中添加 self.secondHand.layer.anchorPoint = CGPointMake(0.5f, 0.9f); self.minuteHand.layer.anchorPoint...首先我在SB中设置两个视图,如下图: ? 如果我们不做任何操作,运行后,两个视图显示的顺序就是我们现在设置的这样。...如果这个点是在最外面的图层,则返回nil。
请求方法 在 HTTP/1.1 协议中,定义了 8 种发送 HTTP 请求的方法,分别是GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT。...响应状态码 状态码 描述 含义 200 Ok 请求成功 400 Bad Request 客户端请求的语法出现错误,服务端无法解析 404 Not Found 服务端无法根据客户端的请求找到对应的资源 500...// URL中文解码 有时候只需要对URL中的中文处理,而不需要针对整个URL。...:JavaScript 调用 Swift 时需要用到协议中的一个方法来。...JavaScript 调用 WKWebView: // Swift方法,可以在JavaScript中调用 func userContentController(_ userContentController
; -- 自动链接 : 框架和库一旦被添加到该目录后, 会自动链接到应用中, IOS 应用可以调用这些资源 和 库中的类 和 函数; -- 系统默认框架 : Foundation.framework,...[super viewDidLoad] 把父类方法调用了, 在其后追加自己处理的内容; -- didReceiveMemoryWarning 方法 : 系统自动回调的, 内存紧张时会调用此方法, 在方法内释放内存...(.xib 文件 或 .storyboard 文件); -- 连接方法 : 在界面设计文件对应的 UIViewController 类中, 定义一个 IBOutlet 属性, 该属性 与 Interface...Builder 中的控件相关联; -- 调用方法 : 在 UIViewController 中调用 控件的方法, 使用 IBOutlet 属性即可访问 界面设计文件的组件; (2) IBoutlet...; -- 连接控件 : 点击上面的 Connect, 在 UIViewController 中就会出现 @property IBOutlet 属性; // // OCViewController.h
在iOS6以后的控制器中只提供了视图构建以及构建完成的模板方法,但却不再提供视图被销毁之前或者之后的模板方法,因此我们在loadView以及viewDidLoad中添加代码时就一定要考虑到这么一点,因为他不像其他的方法一样提供了互逆处理的机制...更有甚者因为在懒加载中实现过多的代码导致在某些地方访问属性时产生了崩溃。 因此不建议对一个控制器里面的所有视图构建都采用懒加载模式,视图的构建和布局应该在loadView中进行统一处理。...另外虽然你的视图的构建是通过懒加载的形式来完成的,但是如果你在比如viewDidLoad中大量的访问这些属性时一样的会产生视图的构建操作,这样其实和直接创建视图对象是一样的,并没有起到任何优化性能的作用...虽然MVC里面强调各个层次之间分离,但是在一些实际的场合中还是可以允许一些耦合场景出现的。...而且越底层的部分对第三方的依赖一定要最低。所以在设计整个应用的架构时可替换性以及标准性应该成为重点要考虑的事情。 ---- 欢迎大家访问我的github地址和简书地址
NSLog(@"isname = %@",p->isName); NSLog(@"_isname = %@",p->_isName); } @end 运行程序,我们把WTPerson.m中的...然后我们把WTPerson.h中的NSString * _name;、NSString * _isName;、NSString * name;、NSString * isName;依次注释,我们会发现4...在WTPerson.m中我们让accessInstanceVariablesDirectly返回NO,则程序直接崩溃。...我们查看这个文件中的方法,发现这个文件中是一些分类的集合 ?...: 1、先找一下你的类中是否实现了方法 -(BOOL)validate:error; 2、如果实现了就会根据实现方法里面的自定义逻辑返回NO或者YES;如果没有实现这个方法,则系统默认返回YES
Service文件主要负责一些网络请求,和一些数据访问的操作。然后供ViewModel使用,由于本次实战没有使用到网络,所以我们只是模拟从本地plist文件中读取用户数据。...下面我们在RegisterViewController中处理我们的username请求结果。...我们在ViewDidLoad中添加下列代码: viewModel.usernameUseable.bind(to: nameLabel.rx.validationResult).addDisposableTo...接下来我们在LoginViewController.swift中写,它看来像这样子的: override func viewDidLoad() { super.viewDidLoad()...后面会返回的是一个闭包,在闭包里对cell进行设置。方法用起来比较简单,就是有点难理解。 ok,到此为止,这次实战也算结束了。运行你的项目看看吧。 致谢 如果发现文章有错误的地方,欢迎指出,谢谢!!
接下来在 ViewController.swift文件中为UITextView 和UIButton 定义outlet变量。...@IBOutlet weak var microphoneButton: UIButton!...所有的语音数据都会被传递到苹果的后台进行处理。因此,获取用户授权是强制必须的。 让我们在 viewDidLoad 方法里授权语音识别。用户必须允许app使用话筒和语音识别。...现在点击Run按钮,你应该可以编译和成功运行app了,不会报任何错误。 ? 注意:如果稍后在工程运行完成时还没有看到语音输入授权框,那是因为你是在模拟器上运行的程序。...希望你喜欢这篇文章并且在探索这个全新API中获得乐趣。 作为参考,你可以在这里查看Github完整工程
1.可以将需要导航的位置丢给系统自带的APP进行导航 2.发送网络请求到公司服务器获取导航数据, 然后自己手动绘制导航 3.利用三方SDK实现导航(百度) >当点击开始导航时获取用户输入的起点和终点...{ 33 [super viewDidLoad]; 34 35 } 36 37 - (IBAction)startNavigation 38 { 39 // 1.获取用户输入的起点和终点...; 44 if (startStr == nil || startStr.length == 0 || 45 endStr == nil || endStr.length == 0) { 46 NSLog...108 // 接收一个MKDirectionsRequest请求对象, 我们需要在该对象中说清楚: 109 // 从哪里 --> 到哪里 110 MKDirections *directions =...*endStr = @"云南"; 41 if (startStr == nil || startStr.length == 0 || 42 endStr == nil || endStr.length
在上一篇博客中详细的介绍了IOS开发中的相对布局和绝对布局,随着手机屏幕尺寸的改变,在App开发中为了适应不同尺寸的手机屏幕,用自动布局来完成我们想要实现的功能和效果显得尤为重要。...我们请求资源的时候用到的是委托回调,关于委托回调的内容请参考之前的博客ObjC中的委托模式。在SourceManager类中有一个qingquWeibo的方法,用于模拟网络请求。...) SourceManager *sourceManager; (3).在viewDidLoad里面配置我们的数据源 - (void)viewDidLoad { [super viewDidLoad...) options:NSStringDrawingUsesLineFragmentOrigin attributes:dic context:nil]; //创建新建垂直约束时的参数...2.获取在固定宽度,特定字体时显示text需要空间的大小,返回值是一个CGRect类型的变量。 3.把获取区域的高度设置成我们Label的垂直约束的值。
,才干够接收和处理事件 父类响应者中定义的事件处理接口例如以下: 触摸事件处理的四个方法例如以下:(仅仅要实现,系统会自己主动调用) 一个UITouch对象,代表着一根手指,手指移动,...UITouch对象实时更新 一个UITouch对象,相应一根手指,记录着触摸时的全部信息 重要~常常使用UITouch的方法,取得触摸时的信息(如位置、所点对象) 事件对象UIEvent...> 当中:shouldReceiveTouch能够指定手势在特定条件下有效 shouldRecognizeSimultaneouslyWithGestureRecognizer 返回YES代表能够同一时候识别不同手势...action:@selector(taping)]; // 2.设置手势的代理,目的是:决定手势仅仅有在特定场合才会被识别(触发监听的方法) tap.delegate = self;...PinchRotationController- (void)viewDidLoad{ [super viewDidLoad]; // 同一时候加入Pinch捏合手势(缩放) 和旋转手势
@property (retain, nonatomic) IBOutlet UIButton *nextBtn; //下一首按钮 @property (retain, nonatomic) IBOutlet...{ [super viewDidLoad]; self.currentIndex = 0; self.musicUrlArray = [NSArray arrayWithObjects...playerCurrentMusic]; } } #pragma mark -- 滑块滑动改变播放进度(代理方法) -(void)changValue:(UISlider *)slider { //拖动滑块时,...2.XCode7.1以上获取网络数据,需要修改plist文件 在Info.plist中添加App Transport Security Settings类型Dictionary。...在App Transport Security Settings下添加Allow Arbitrary Loads类型Boolean,值设为YES 需要在后台实现播放页的各种上一首,下一首...各种功能,
自iOS7以后,iOS扫描二维码不需要借助于第三方框架了,苹果在AVFoundation中原生支持了扫描二维码的API,主要涉及到5个类,这5个类在自定义相机或者视频时也用得上,网上有很多介绍,这5个类分别为...: AVCaptureSession:媒体捕获会话,负责把捕获的音视频数据输出到输出设备中。...我在参考了网上的很多博客并自己摸索了以后,写了一个具体的实现案例,过程中遇到很多坑,在此记录并分享一下。...]; } - (void)viewDidLoad { [super viewDidLoad]; //1、创建会话 AVCaptureSession...3、中间方块是通过CALayer两步实现的,第一步设置整个背景颜色,这个颜色根据中间想显示的样式来设置;第二步在代理方法里面重新设置一次背景颜色,这个颜色根据除中间以外的区域来设置,然后将中间的挖掉。
文件,然后拖到****viewDidLoad上。...然后,在viewDidLoad中,调用IBOutlet并将其委托给self。这样,我们的ViewController将能够使用我们的Collection View。另外,将数据源设置为self。...使用Command + R运行代码,然后修复2个错误。它将为您提供运行CollectionView所需的两种方法。 Sections中的项数和 Cell 在第一个函数内部,我们只需返回3。...let screens = ["iPhoneX1", "iPhoneX2", "iPhoneX3"] Cell 类 我们需要将这个数组放入我们的cell中,但是,我们的问题是这些数据都没有连接到cell...cell.index = indexPath.row 返回UIImage 当我们点击按钮时,它将在函数中返回UIImage类型的图像。为ARScreen的图像声明一个新数组。
Alamofire(Objective-C 中的 AFNetWorking) 我们在我们的 podfile文件里面添加如下的代码。...@IBOutlet weak var navigationBar: NavigationBar! 我们在回调的时候设置一下标题。...解析Swift中闭包的循环引用 关于 Swift闭包里面循环引用 我们修改请求的代码如下: override func viewDidLoad() { super.viewDidLoad()...之前自定义控件是加载 Xib的,运行的时候是可以出现的。但是在 Xib是无法进行预览的,我以为这应该属于正常的情况,毕竟程序还没有进行运行。...我们可以在回调的时候保留一下我们的索引,在 ViewDidLoad可以刷新对应的索引。 var sideMenuIndex:Int = -1 self?.
中的viewDidLoad方法中,self.parent 是nil,这时不能拿到主ViewController实例。...这个问题其实问的很模糊,我也是咨询了很多人才知道,他们所谓的问题不容易测试,是指如下两种情况: 修改或删除 @IBOutlet 的变量名时,对应的Storyboard上未做处理,导致运行时崩溃,崩溃内容看不懂..., forUndefinedKey key: String) { ...... } 复制代码 如果变量名改变的时候,会出现如下错误: *** Terminating app due...这个方法找不到对应的属性时,就会抛出异常, 这里就是指找不到featuresController属性,通过全局搜索可以发现,代码中改了名字, 解决的方法同样是删掉对应的连线或者修改变量名时使用重构 由此可见...而且重构代码时利用Xcode重构功能的话,连问题都不会出现 StoryBoard 和 Xib 降低执行效率?
(存储区域)中进行文件的操作,不能访问其他 App 的文件系统(存储区域),该文件系统(存储区域)被成为沙盒。...沙盒机制保证了 App 的安全性,因为只能访问自己沙盒文件下的文件。 Home目录 沙盒的主目录,可以通过它查看沙盒目录的整体结构。...,它返回值为一个数组,在 iOS 中由于只有一个唯一路径,所以直接取数组第一个元素即可。...,所以模拟器运行同一个 App 时所得到的沙盒路径是不一样的,但上架的 App 在真机上运行不存在这种情况。...,可以根据传入的 suiteName 参数进行处理: 传入 nil:等同于UserDefaults.standard。
含有少量php有兴趣可以看下 另外demo中包括数据库操作、json、网络请求等都没有用到第三方库,所以网络方面的逻辑可能有所欠缺,大神请轻拍。...tally表 flag字段 决定是否上传 需要发送请求的位置 登录 注册 登录成功后第一次加载 新增账单 修改账单 删除账单 代码 登录 登录时向服务器发送用户名和密码,当然只有两个结果:未注册...@property (weak, nonatomic) IBOutlet UITextField *userNameField; @property (weak, nonatomic) IBOutlet...implementation RegisterViewController - (void)viewDidLoad { [super viewDidLoad]; self.title...]]; } [self presentViewController:alertVC animated:YES completion:nil]; } @end 向服务器发送的请求操作
领取专属 10元无门槛券
手把手带您无忧上云