ios UIKit & UI控件
绿叶清风
这个作者很懒,什么都没留下…
展开
-
UIScrollView一直显示滚动条
1,定义一个UIImageView的分类,并重写setAlaph方法: 头文件代码: #import @interface UIImageView (Extend)#define noDisableVerticalScrollTag 836913#define noDisableHorizontalScrollTag 836914@end 分类的实现方法:原创 2016-08-10 15:37:25 · 1901 阅读 · 0 评论 -
iOS 一个页面支持一个方向上横屏,其他页面全部竖屏
1,项目中开启横竖屏 2,自定义一个 UINavigationController ,并实现以上几个方法- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation{ UIViewController *vc =原创 2015-09-04 20:39:55 · 2736 阅读 · 0 评论 -
object-c 不定参数的遍历和原理
object-c接收任意类型的参数:/** * 接收String类型的多个参数 * @param firsParam 第一个参数 */-(void)TestString:(NSString*)firsParam, ... { va_list list; va_start(list, firsParam); NSString* param; NSLog原创 2015-08-07 11:49:16 · 2256 阅读 · 0 评论 -
ios官方示例demo
https://developer.apple.com/library/ios/navigation/#section=Resource%20Types&topic=Sample%20Code原创 2015-07-24 18:06:03 · 1478 阅读 · 0 评论 -
UIAlertView在其他页面快速显示?
直接上代码: 1,.h文件 #import typedef void (^CSRAlertCompletion)(NSInteger);@interface CSRAlertView : UIAlertView { CSRAlertCompletion completionBlock;}- (void)showWithCompletionHandler:(CS原创 2015-08-31 17:01:13 · 591 阅读 · 0 评论 -
UITableView滑动删除表格行(UITableViewCell)
实现Cell的滑动删除, 需要实现UITableView的代理UITableViewDelegate中如下方法: //先要设Cell可编辑- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath{return YES;}原创 2015-07-22 16:51:28 · 622 阅读 · 0 评论 -
xcode6 Storyboard,文本,图片国际化
本文由@RepairmanJacob翻译自Ramblings on Swift and iOS,原文:Internationalization and localization of Apps in Xcode 6 and Swift当你希望应用程序无缝支持不同的语言和地区时,应用程序的国际化和本地化就显得十分必要了。国际化是指为应用程序提供一个用来支持不同语言的框架的过程。而本地化则是使转载 2015-08-19 19:32:18 · 1332 阅读 · 0 评论 -
ios UIButton 文字左边,图片右边排列
自定义LFBuybutton ,继承自UIbutton,在自定义的按钮中重写方法-(void)layoutSubviews 根据文字和按钮的X点的交换,实现文字和图片位置的交换#import "LFBuybutton.h"@implementation LFBuybutton-(void)layoutSubviews{ [super layoutSubviews];原创 2015-07-11 11:20:55 · 5130 阅读 · 0 评论 -
ios本地通知
#import "ViewController.h"@interface ViewController ()- (IBAction)addNote:(UIButton *)sender;- (IBAction)removeNote:(UIButton *)sender;@end@implementation ViewController- (void)viewDidLoad {原创 2015-07-12 10:19:59 · 513 阅读 · 0 评论 -
ios UIPageViewController+pageControl实现引导页
1,首先准备一个控制器,在它里面添加一个UIPageViewController,然后添加要引导的控制器头文件:#import @interface PVCPagesViewController : UIViewController @property (strong, nonatomic) UIPageControl *pageControl;@end.m文件:#impo原创 2015-07-10 13:52:39 · 3812 阅读 · 0 评论 -
iOS跳转到设置页面
////About ? prefs:root=General&path=About//Accessibility ? prefs:root=General&path=ACCESSIBILITY//Airplane Mode On ? prefs:root=AIRPLANE_MODE//Auto-Lock ? prefs:root=General&path=AUTOLOCK//Bright原创 2015-09-04 16:04:49 · 798 阅读 · 0 评论 -
tableView 分割线左边短15像素问题
ios7中,UITableViewCell左侧会有默认15像素的空白。设置setSeparatorInset:UIEdgeInsetsZero 能将空白去掉。ios8中,setSeparatorInset:UIEdgeInsetsZero 的设置已经不起作用了。下面是解决办法,首先在viewDidLoad方法加入以下代码: if([self.tableView respondsT原创 2015-08-20 19:42:01 · 702 阅读 · 0 评论 -
iOS UIWebView加载本地图片
加载本地image: NSString * htmlPath = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"html"]; NSString * htmlCont = [NSString stringWithContentsOfFile:htmlPath encoding:NSUTF8StringEncod原创 2016-07-06 13:23:04 · 920 阅读 · 0 评论 -
iOS利用QLPreviewController显示PDF,word,execl,txt等格式的文件
以前预览PDF格式采用UIWebview,或者利用CGPDFDocumentGetPage显示。今天发现QLPreviewController也可以实现预览PDF的功能,步骤如下:1,在项目中导入QuickLook框架2,引入QuickLook头文件,在项目中准备一下PDF的测试文件3,//// ViewController.m// QLPreviewControllerT原创 2016-07-12 13:53:17 · 5170 阅读 · 0 评论 -
Objective C 和 Javascript 之间的互相调用
有些时候出于某些原因(web界面更新迭代快、工作分离),我们需要让手机里面的网页能调用Objective C的原生代码或者是反过来。 所以这时候就需要解决Objective C 和 页面代码(一般就是Javascript)之间互相调用、通信的问题了。那么, 首先我们从简单的方面开始讲吧,Objective C如何调用Javascript代码Objective C如何调用Javascri原创 2016-06-08 17:55:50 · 1284 阅读 · 0 评论 -
0代码隐藏GroupedTableView上边多余的间隔
实现诸如支付宝的 “探索” 页面时,最简单的方案是在 Storyboard 中来一个静态 Grouped UITableViewController,把各个 Cell 中的元素摆好就行了不过会有下面的问题,第一个 Section 距离屏幕顶端有间隔一行代码搞定研究发现,这里其实是一个被 UITableView 默认填充的 HeaderView。而且,当试图将它的高度设置为 0转载 2016-02-22 09:26:29 · 643 阅读 · 0 评论 -
ios storyboard跳转前的验证
有时候用storyboard搭建界面时,需要满足一定的条件才让界面往下跳转。比如用storyboard搭建登陆界面时,如果输入的用户名为空,阻止storyboard往下跳转。比如登陆控制器的核心代码:#pragma mark - Navigation/** * 开始跳转,可以在这个方法中向下一个界面传入参数 * * @param segue 注意:[segue ident原创 2016-02-18 15:23:48 · 1763 阅读 · 0 评论 -
ios设置图片的拉伸区域
在ios开发中,有些时候需要设置图片的拉伸区域。例如给定要实现如下效果:可见需要对只对图片的中心区域进行拉伸。实现步骤:1,在Assets.xcassets在找到图片,并点击showSlicing,如图:2,点击图片上的 "start Slicing",选择“水平垂直”拉伸,拖动上面的虚线设置拉伸的区域原创 2016-02-15 17:13:04 · 2416 阅读 · 0 评论 -
ios UILabel显示不同颜色的文字
NSString*string = @"如何使得Label里的字符有不同的颜色?"; NSRange range = [string rangeOfString: @"Label"]; NSMutableAttributedString *attribute = [[NSMutableAttributedString alloc] initWithString: string];原创 2015-12-23 17:15:20 · 814 阅读 · 0 评论 -
iOS UIPopoverController的使用
1. 什么是UIPopoverController?是iPad开发中常见的一种控制器(在iphone上不允许使用)跟其他控制器不一样的是,它直接继承自NSObject,并非继承自UIViewController它只占用部分屏幕空间来呈现信息,而且显示在屏幕的最前面 2.怎么使用UIPopoverController? 2.1 使用的思路(初步) 1>创建一个UI转载 2015-10-26 11:13:24 · 699 阅读 · 0 评论 -
ios NSNotificationCenter 的简单使用
NSNotificationCenter的作用:用于程序中不同类间的消息通信,使用步骤如下:1,发送通知, NSDictionary *objects = @{};//用字典存放发送通知的内容 [[NSNotificationCenter defaultCenter] postNotificationName:@"idstring" object:self userInf原创 2015-07-31 13:46:12 · 667 阅读 · 0 评论 -
ios设置按钮点击时的文字和图片(而非非背景)
UIImage *wifiPressBg = [UIImage imageNamed:@"wifi_prs"]; self.wifiBtn = [UIButton buttonWithType:UIButtonTypeCustom]; [self.wifiBtn.titleLabel setFont:[UIFont systemFontOfSize:15]]; [self.原创 2015-07-10 16:36:59 · 1831 阅读 · 0 评论 -
ios 抽屉效果实现
实现思路及步骤:1,首先准备要滑动的view#warning 第一步- (void)addChildView{ // left UIView *leftView = [[UIView alloc] initWithFrame:self.view.bounds]; leftView.backgroundColor = [UIColor greenColor];原创 2015-05-24 21:46:06 · 963 阅读 · 0 评论 -
渲染自定义格式字符串的UILabel(同一个lable的不同文字可以显示不同的颜色和字体)
- (void)viewDidLoad{ [super viewDidLoad]; // self.label.text = @"啊哈哈哈好烦"; NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:@"啊哈哈哈好烦"]; // 设置原创 2015-04-28 23:32:41 · 1347 阅读 · 0 评论 -
iOS 纯代码适配iPhone6,6+
2014-12-24 11:29 3968人阅读 评论(2) 收藏 举报 首先说下让自己的程序支持iPhone6和6+,第一种使用官方提供的launch screen.xib,这个直接看官方文档即可,这里不再多述;第二种方法是和之前iPhone5的类似,比较简单,为iPhone6和6+添加两张特殊的pngiPhone6:命名:Default-375w-667h@2x转载 2015-04-04 11:41:33 · 605 阅读 · 0 评论 -
ios图片圆角处理
UIImage+wiRoundedRectImage.h#import @interface UIImage (wiRoundedRectImage)+ (id)createRoundedRectImage:(UIImage*)image size:(CGSize)size radius:(NSInteger)r;@endUIImage+wiRoundedRec原创 2015-04-01 22:27:24 · 561 阅读 · 0 评论 -
ios图片压缩
压缩成指定大小:- (UIImage *)scaleToSize:(UIImage *)img size:(CGSize)size{ // 创建一个bitmap的context // 并把它设置成为当前正在使用的context UIGraphicsBeginImageContext(size); // 绘制改变大小的图片原创 2015-04-01 22:12:38 · 548 阅读 · 0 评论 -
ios沙合、偏好设置、归档
应用沙盒结构分析:应用程序包:(上图中的Layer)包含了所有的资源文件和可执行文件Documents:保存应用运行时生成的需要持久化的数据,iTunes同步设备时会备份该目录。例如,游戏应用可将游戏存档保存在该目录tmp:保存应用运行时所需的临时数据,使用完毕后再将相应的文件从该目录删除。应用没有运行时,系统也可能会清除该目录下的文件。iTunes同步设备时不会备份该目录原创 2015-04-01 21:51:46 · 734 阅读 · 0 评论 -
UITableView
@property (nonatomic, assign) id dataSource;// 一共有多少组数据- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView;// 每一组有多少行数据- (NSInteger)tableView:(UITableView *)tableView numberOfRows原创 2015-04-01 21:03:42 · 532 阅读 · 0 评论 -
控制器与导航笔记
1.UIWindow* 主窗口的概念* 新建UIWindow2.UIViewController* 控制器的创建方式 1),NJViewController *nj = [[NJViewController alloc] init]; 2), 指定xib文件来创建 NJViewController *nj = [[NJViewController alloc] init原创 2015-04-01 20:37:46 · 494 阅读 · 0 评论 -
IOS之文件夹创建、删除,图片在本地的保存和加载
[html] view plaincopy// get file absolutely path in the caches directory NSString* pathInCacheDirectory(NSString *fileName) { NSArray *cachePaths = NSSearchPathForD原创 2015-04-01 22:18:05 · 1085 阅读 · 0 评论 -
ios笔记
引用计数器: 1.方法的基本使用 1> retain :计数器+1,会返回对象本身 2> release :计数器-1,没有返回值 3> retainCount :获取当前的计数器 4> dealloc * 当一个对象要被回收的时候,就会调用 * 一定要调用[super dealloc],这句调用要放在最后面 2.概念 1> 僵尸对象 :所占用内存已经被回收原创 2015-01-13 14:11:03 · 879 阅读 · 0 评论 -
ios CADisplayLink
第一种:用CADisplayLink可以实现不停重绘。例子:CADisplayLink* gameTimer;gameTimer = [CADisplayLink displayLinkWithTarget:self selector:@selecto原创 2014-08-26 09:21:51 · 924 阅读 · 0 评论 -
IOS UIScrollView详解
ScrollView UIScrollView UIScrollView为了显示多于一个屏幕的内容或者超过你能放在内存中的内容。 Scroll View为你处理缩小放大手势,UIScrollView实现了这些手势,并且替你处理对于它们的探测和回应。其中需要注意的子类是UITableView以及UITex转载 2015-01-13 11:27:44 · 656 阅读 · 0 评论 -
UIScrollView
UIScrollView@interface HMViewController ()@property (weak, nonatomic) IBOutlet UIScrollView *scrollView;@property (nonatomic, strong) UIImageView *imageView;// 假设图像是从网络上获取的@property (nonatomic,原创 2015-04-06 10:38:07 · 515 阅读 · 0 评论 -
uiview面试
1. 怎么解决缓存池满的问题(cell)ios中不存在缓存池满的情况,因为通常我们ios中开发,对象都是在需要的时候才会创建,有种常用的说话叫做懒加载,还有在UITableView中一般只会创建刚开始出现在屏幕中的cell,之后都是从缓存池里取,不会在创建新对象。缓存池里最多也就一两个对象,缓存池满的这种情况一般在开发java中比较常见,java中一般把最近最少使用的对象先释放。原创 2015-04-28 23:14:42 · 687 阅读 · 0 评论 -
IOS 如何选择delegate、notification、KVO?
前面分别讲了delegate、notification和KVO的实现原理,以及实际使用步骤,我们心中不禁有个疑问,他们的功能比较类似,那么在实际的编程中,如何选择这些方式呢? 在网上看到一个博客上详细的分析了三者之间的区别以及各自的优势,博文地址为http://blog.shinetech.com/2011/06/14/delegation-notification-and-o翻译 2015-04-27 22:17:25 · 571 阅读 · 0 评论 -
控制器常见的创建方式
控制器常见的创建方式有以下几种通过storyboard创建直接创建MJViewController *mj = [[MJViewController alloc] init];指定xib文件来创建MJViewController *mj = [[MJViewController alloc] initWithNibName:@"MJViewController" bundle:n原创 2015-04-08 00:24:20 · 567 阅读 · 0 评论 -
ios NSTimer的基本用法
调用一次计时器方法:[cpp] view plaincopymyTimer = [NSTimer scheduledTimerWithTimeInterval:1.5 target:self selector:@selector(scrollTimer) userInfo:nil repeats:NO]; //不重复,只调用一次。tim原创 2015-04-19 15:07:10 · 586 阅读 · 0 评论 -
UIKite/UICollectionViewController/ScrollView
UIButton -->UIControl-->UIVIew UILabel--->UIViewUIImageView-->UIViewUITextField -->UIViewUIControl可以交互,它具有以下属性和方法: 1.1 设置控件的状态 启用、禁用 @property(nonatomic,getter=isEnabled) BOOL enabled; 选原创 2015-04-04 00:17:15 · 930 阅读 · 0 评论