
iphone开发之视图部分
文章平均质量分 78
more2010wei
2010年6月毕于厦门大学软件工程专业,从事移动互联Symbian开发一年多,转为ios开发,对C,C++和Object-C等语言有心得,热衷于技术,喜欢研究算法,具有开源精神!Knuth是我心中永远的神话!
展开
-
AsyncDisplayKit入门指南
Facebook前两天发布了其iOS UI框架AsyncDisplayKit(ASDK)1.0正式版,这个框架被用于Facebook自家的应用Paper中,能够提高UI的流畅性并缩短响应时间。下载和使用你可以使用CocoaPods来安装AsyncDisplayKit,在Podfile中添加: pod 'AsyncDisplayKit'OC中导入框架header,如果用Swift则可翻译 2015-03-05 17:11:04 · 4243 阅读 · 0 评论 -
关于addSubView需要注意的几个点
addSubview:Adds a view to the end of the receiver’s list of subviews.译:增加一个视图到接收者的子视图列表中。- (void)addSubview:(UIView *)viewParametersviewThe view to be added. This view is retained by t翻译 2012-08-17 16:45:51 · 31772 阅读 · 3 评论 -
正确理解Navgation的BackItem
假如从A视图控制器进入B视图控制器(self指的是AController,BController指的B)UINavigationController Class Reference发现使用pushViewController切换到下一个视图时,navigation controller按照以下3条顺序更改导航栏的左侧按钮。1、如果B视图有一个自定义的左侧按钮(leftBarButton原创 2012-08-10 17:18:59 · 5170 阅读 · 4 评论 -
键盘的inputAccessoryView属性
inputAccessoryView:UITextFields and UITextViews have an inputAccessoryView property, which you can set to any view, that is automatically displayed above and animated with the keyboard.Note th翻译 2012-07-30 15:05:38 · 5483 阅读 · 1 评论 -
支持键盘输入的视图之设置键盘的特性
一、键盘风格 UIKit框架支持8种风格键盘。C代码 typedef enum { UIKeyboardTypeDefault, // 默认键盘:支持所有字符 UIKeyboardTypeASCIICapable, // 支持ASCII的默认键盘 UIKeyboard转载 2012-04-01 13:58:49 · 2778 阅读 · 0 评论 -
IPhone之获取Sim卡信息
原文地址:IPhone之获取Sim卡信息作者:飞舞的鸡毛首先,加入一个Framework.引入头文件#import #import#import@interface RootViewController : UITableViewController{ CTTelephonyNetworkInfo *networkInf转载 2012-06-14 16:07:59 · 10853 阅读 · 1 评论 -
UIAppearance Protocol Reference
ios5增加的两个统一定制控件样式的函数,具有全局的效果,一劳永逸。用法很简单,文档如下:UIAppearance Protocol ReferenceConforms toNSObjectFramework/System/Library/Frameworks/UIKit.frameworkAvailability原创 2012-07-05 14:07:06 · 2614 阅读 · 0 评论 -
视图之UITabBarController结构详解(侧重于文档分析)
UITabBarController是IOS中很常用的一个viewController,例如系统的闹钟程序,ipod程序等。UITabBarController通常作为整个程序的rootViewController,而且不能添加到别的container viewController中。 首先我们看一下它的view层级图:一、手动创建UITabBarController 最常见的原创 2012-05-31 17:32:01 · 24011 阅读 · 3 评论 -
UIViewController的生命周期
官方文档:The View Controller Life CycleUIViewController是IOS程序中的一个重要组成部分,扮演者一个大管家的身份,管理着程序中的众多视图:何时加载view,加载的原则是什么,视图何时消失等问题,文档中讲的都很详细。 Controller的view最好在需要显示时再去加载,并且在系统发出内存警告时释放不必要的view及相关的可再生的原创 2012-06-04 14:44:47 · 11055 阅读 · 2 评论 -
导航类视图之UINavigationController
1,创建并使用一个UINavigationController UINavigationController *aNav = [[UINavigationController alloc] init];然后添加一个视图进去,否则导航栏也没有意义的 UIViewController *aViewCtrl = [[UIView alloc] initWithNibName: (转载 2012-03-20 10:13:59 · 9628 阅读 · 0 评论 -
iOS7下隐藏statusbar
info.plist文件中,View controller-based status bar appearance项设为YES,则View controller对status bar的设置优先级高于application的设置。为NO则以application的设置为准,view controller的prefersStatusBarHidden方法无效,是根本不会被调用的。一、如果V原创 2014-11-07 10:02:01 · 16352 阅读 · 0 评论 -
UIView Class Reference
1.简单的创建一个UIViewCGRect viewRect = CGRectMake(10, 10, 100, 100);UIView* myView = [[UIView alloc] initWithFrame:viewRect];2.当创建一个view 之后,给其属性autoresizingMask设翻译 2014-09-27 11:07:51 · 1651 阅读 · 0 评论 -
关于ios中的点赞控件效果的实现--UIControl
在开发当中,可能很多时候都需要做个点赞的需求,如果用按钮实现,按钮作为一个系统复合控件,外部是一个 View--》UIControl的容器,内部包含了UILabel和UIImage,以及一些排版规则。用UIButton就很难去做一些在“赞”和“取消赞”切换时的效果。可是我们又很需要UIButton似的事件响应机制。怎么办?对! 就是使用UIControl。UIControl在这原创 2014-08-21 15:36:54 · 20147 阅读 · 2 评论 -
UIImage的几种应用
1、用imageNamed函数[UIImage imageNamed:ImageName];用imageNamed的方式加载时,系统会把图像Cache到内存。如果图像比较大,或者图像比较多,用这种方式会消耗很大的内存,而且释放图像的内存是一件相对来说比较麻烦的事情。例如:如果利用imageNamed的方式加载图像到一个动态数组NSMutableArray,然后将将数组赋予一个UIView的转载 2012-04-17 11:38:00 · 1661 阅读 · 0 评论 -
Using UIPageControl as a container UIViewController
英文原版:http://www.wannabegeek.com/?p=168虽然看上去用 UIPageControl 在一系列 UIView或UIViewController中导航是很平常的事情,但实际上 Apple公司并没有提供一个这样的方法或者演示Demo: 在最新的iOS版本中(5.0 现在已经不是最新的),Apple公司提供了很多如何用其他方式实现UIViewC翻译 2013-01-22 13:37:25 · 2186 阅读 · 0 评论 -
自定义拷贝粘贴窗口
1)、重写canBecomeFirstResponder方法- (BOOL)canBecomeFirstResponder{ [super canBecomeFirstResponder]; return YES;}2)、创建自定义UIMenuController UIMenuItem *share = [[UIMenuItem alloc转载 2013-01-17 16:08:34 · 1662 阅读 · 0 评论 -
定制属于你自己的阴影效果
#import @implementation UIView (NKShadow)// add the shadow effect to the view-(void)addShadow{ self.layer.shadowOpacity = 0.4; self.layer.shadowRadius = 0.9; self.layer.shadowOf原创 2012-08-10 15:47:17 · 2709 阅读 · 0 评论 -
自定义UITableViewCell的背景样式
1.改变UITableViewCell选中时背景色 cell.selectedBackgroundView = [[[UIView alloc] initWithFrame:cell.frame] autorelease]; cell.selectedBackgroundView.backgroundColor = [UIColor xxxxxx];2.自定义UITableVie原创 2012-07-23 18:11:15 · 7258 阅读 · 1 评论 -
UIWindow & UIWindowLevel笔记
本文转载自:http://www.cnblogs.com/smileEvday/archive/2012/03/27/2420362.html一、UIWindow是一种特殊的UIView,通常在一个程序中只会有一个UIWindow,但可以手动创建多个UIWindow,同时加到程序里面。UIWindow在程序中主要起到三个作用: 1、作为容器,包含app所要显示的所有视图原创 2012-06-05 10:08:19 · 3189 阅读 · 0 评论 -
UIImageView和UIImage,CGContextRef 的一些知识点
1.UIImageView不支持内部图片平铺(tile)2.资源中的图片要用小写的,模拟器中可能不区分大小写,但在真机中区分. [UIImage imageNamed:@""]; 在设备中区分大小写3.UIView没有背景图属性,有背景色属性.设置背景图可以用addSubView(backgroundImage);,推荐的是设置背景色。4.[UIImage imageNamed原创 2012-06-14 14:06:35 · 18972 阅读 · 0 评论 -
CGContext的基本认识
CGContextRef context = UIGraphicsGetCurrentContext(); 设置上下文 CGContextMoveToPoint 开始画线 CGContextAddLineToPoint 画直线 CGContextAddEllipseInRect 画一椭圆 CGContextSetLineCap 设置线条终点形状 CGContextSetLineDash原创 2012-05-23 19:47:40 · 29410 阅读 · 2 评论 -
iphone自定义view
自定义View要做的事情1.初始化:- 对于在程序中创建的View,重写initWithFrame初始化。- 对于在nib中载入的View,重写initWithCoder初始化。- 在nib文件载入完成后,可以使用awakeFromNib处理其他初始化操作。awakeFromNib在initWithCoder之后执行。注意:要使用[super ini原创 2012-05-03 14:32:58 · 1606 阅读 · 0 评论 -
iOS上键盘出现时输入框不被覆盖的几种方法分析
如果屏幕中的内容项目比较多,它就可能覆盖住文本输入框之类的对象。你必须调整你的内容,使得输入框保持可见。你会想到哪些处理方法呢?第一种,临时调整窗口中各个视图的大小,使得键盘从下向上占领的区域空白。键盘的高度(keyboard.size.height)是一定的,将视图中所有内容所在区域的y值减小到y-keyboard.size.height。该方法有个局限,如果所有内容之和大于窗口原创 2012-05-03 11:56:05 · 13738 阅读 · 0 评论 -
UILabel自适应高度和自动换行
//初始化label UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0,0,0,0)]; //设置自动行数与字符换行 [label setNumberOfLines:0]; label.lineBreakMode = UILineBreakModeWordWrap; // 测试字串 NS原创 2012-04-12 11:44:29 · 3753 阅读 · 0 评论 -
UIAlertView的自动消失,手动消失和自定制消失
UIAlertView的消失本质其实是触发了一个dismiss事件。触发这个事件有以下两种方法:1.按钮点击,UIAlertView上如果有按钮,点击任何按钮都会触发该事件,UIAlertView消失;2.代码模拟点击[AlertObject dismissWithClickedButtonIndex:0 animated:NO]1。创建一个自动消失的UIAle原创 2012-04-26 15:38:47 · 31291 阅读 · 1 评论 -
UIActionSheet与UIAlertView
iOS程序中的Action Sheet就像Windows中的 “确定-取消”对话框一样,用于强制用户进行选择。当用户将要进行的操作具有一定危险时,常常使用Action Sheet对用户进行危险提示,这样,用户有机会进行取消操作。Alert相当于Windows中的Messagebox,跟Action Sheet也是类似的。不同的是,Alert可以只有一个选择项,而Action Sheet却至原创 2012-04-24 14:00:19 · 1806 阅读 · 0 评论 -
如何在UIAlertView中显示进度条
今天这个问题是,在一个iPhone程序中,我要在后台做大量的数据处理,希望在界面上显示一个进度条(Progress Bar)使得用户了解处理进度。这个进度条应该是在一个模态的窗口中,使界面上其他控件无法被操作。怎么用最简单的方法来实现这个功能?UIAlertView是一个现成的模态窗口,如果能把进度条嵌入到它里面就好了。以下内容适用于iOS 2.0+。我们知道,如果要显示一个ale转载 2012-04-24 13:50:04 · 2315 阅读 · 0 评论 -
控件类视图之UIControl的派生控件
UIKit提供了一组控件:UISwitch开关、UIButton按钮、UISegmentedControl分段控件、UISlider滑块、UITextField文本字段控件、UIPageControl分页控件。 控件是对UIView派生类的实用增强及补充,并可以直接附着于导航栏、表格单元,甚至更大的对象。这些控件的基类均是UIControl,而UIControl派生自UIView类,所原创 2012-04-01 11:04:57 · 2094 阅读 · 0 评论 -
根视图之UIView的一些基本方法
init方法 在init方法中实例化必要的对象(遵从LazyLoad思想)init方法中初始化ViewController本身 loadView方法 当view需要被展示而它却是nil时,viewController会调用该方法。不要直接调用该方法。如果手工维护views,必须重载重写该方法如果使用IB维护views,必须不能重载重写该方法loadView原创 2012-03-31 17:33:06 · 1961 阅读 · 2 评论 -
UIViewContrller之间切换的几种方式
1.UIViewContrller之间的切换有三种方式: 一、UIViewController自身之间的调用:[self presentModalViewController:UIViewController animated:YES];对应的返回操作函数:[self dismissModalViewControllerAnimated:YES];这里的self代表的是UIViewC原创 2012-05-07 14:40:04 · 25718 阅读 · 0 评论 -
从AlertView例解设置view背景的几种方法
UIAlertView *alv_obj = [[[UIAlertView alloc] initWithTitle:@"AlertView" message:@"This is Example!" delega原创 2012-05-07 10:36:16 · 5312 阅读 · 0 评论 -
从UIImage的矩阵变换看矩阵运算的原理
1.矩阵的基本知识:struct CGAffineTransform{ CGFloat a, b, c, d; CGFloat tx, ty;};CGAffineTransform CGAffineTransformMake (CGFloat a,CGFloat b,CGFloat c,CGFloat d,CGFloat tx,CGFloat ty);为原创 2012-05-23 19:13:10 · 14666 阅读 · 3 评论 -
关于removeFromSuperview关键的几个点
removeFromSuperviewUnlinks the receiver from its superview and its window, and removes it from the responder chain.译:把当前view从它的父view和窗口中移除,同时也把它从响应事件操作的响应者链中移除。分析:这里有两个关键点,可以帮助我们理解在ios翻译 2012-05-16 18:01:46 · 40852 阅读 · 2 评论 -
UIView 你知道多少
该文章转载自:http://www.cocoachina.com/newbie/basic/2012/0425/4192.html 曾经有人这么说过,在iphone里你看到的,摸到的,都是UIView,所以UIView在iphone开发里具有非常重要的作用。那么UIView我们到底知道多少呢。请看看下面的问题,如果这些你都知道,那么本文章的内容就请绕道,如果你还不太清楚,我原创 2012-05-29 16:57:04 · 2207 阅读 · 0 评论 -
视图之UINavigationController结构解析(侧重于文档分析)
UINavigationController是IOS编程中比较常用的一种容器view controller,很多系统的控件(如UIImagePickerViewController)以及很多有名的APP中(如qq,系统相册等)都有用到。说是使用详解,其实我只会介绍几个自认为比较重要或者容易放错的地方进行讲解,下面让我们挨个探探究竟: 首先上一张图(来自苹果官方文档):原创 2012-05-31 17:14:47 · 6772 阅读 · 0 评论 -
addSubview和insertSubview 区别
子视图是以栈的方式存放的。每次addsubview时都是在最后面添加。每次在addsubview前和addsubview后可以看看[self.view.subViews count];你看看你的子视图是被添加到哪个位置了。另外[self.view addSubView:xx.view] 其实就等于[self.view insertSubView:xx.view atIndex:原创 2012-05-09 15:21:10 · 24465 阅读 · 0 评论 -
CAlayer的一些基本属性应用
#import //导入框架self.aView.layer setCornerRadius:8.0];//圆角self.aView.layer setShadowColor:[[UIColor blackColor]CGColor]];//阴影颜色self.aView.layer setShadowOffset:CGSizeMake(10, 10)];//阴影距离self.a转载 2012-05-07 14:21:08 · 3579 阅读 · 0 评论 -
自定义UITableViewCell
UITableView的强大更多程度上来自于可以任意自定义UITableViewCell单元格。通常,UITableView中的Cell是 动态的,在使用过程中,会创建一个Cell池,根据每个cell的高度(即tableView:heightForRowAtIndexPath:返回 值),以及屏幕高度计算屏幕中可显示几个cell。而进行自定义TableViewCell无非是采用代码实现或采用I原创 2012-05-09 15:10:33 · 17234 阅读 · 1 评论 -
在UIAlertView上面添加输入框
UIAlertView *prompt = [[UIAlertView alloc] initWithTitle:@"请输入起点:" message:@"\n\n"转载 2012-04-24 11:45:37 · 3946 阅读 · 0 评论 -
导航类视图之UITabBarController
关于UITabBarController:平行式导航一. 基本知识和UINavigationController类似,UITabBarController也可以用来控制多个页面导航,用户可以在多个视图控制器之间移动,并可以定制屏幕底部的选项卡栏。借助屏幕底部的选项卡栏,UITabBarController不必像UINavigationController那样以栈的方式推入和转载 2012-03-20 20:56:58 · 3441 阅读 · 1 评论