IOS客户端Coding项目记录(三)
18:图片视图几种填充样式
_imgView.contentMode = UIViewContentModeScaleAspectFill; 如下:
typedef NS_ENUM(NSInteger, UIViewContentMode) {
UIViewContentModeScaleToFill,
UIViewContentModeScaleAspectFit,
UIViewContentModeScaleAspectFill,
UIViewContentModeRedraw, // redraw on bounds change (calls -setNeedsDisplay)
UIViewContentModeCenter, // contents remain same size. positioned adjusted.
UIViewContentModeTop,
UIViewContentModeBottom,
UIViewContentModeLeft,
UIViewContentModeRight,
UIViewContentModeTopLeft,
UIViewContentModeTopRight,
UIViewContentModeBottomLeft,
UIViewContentModeBottomRight,
}; 简单说明:
UIViewContentModeScaleToFill:表示完全填充在 frame. 里。(默认)
UIViewContentModeScaleAspectFit:保持比例,都在 frame. 内。
UIViewContentModeScaleAspectFill:保持比例,填满但 frame. 外也有。
UIViewContentModeRedraw:
UIViewContentModeCenter:这个 image 的中心与 frame. 的中心重合。
UIViewContentModeTop:这个 image 的上边缘与 frame. 的上边缘重合。
UIViewContentModeBottom:这个 image 的下边缘与 frame. 的下边缘重合。
UIViewContentModeLeft:这个 image 的左边缘与 frame. 的左边缘重合。
UIViewContentModeRight:这个 image 的右边缘与 frame. 的右边缘重合。
UIViewContentModeTopLeft:类似。
UIViewContentModeTopRight:类似。
UIViewContentModeBottomLeft:类似。
UIViewContentModeBottomRight:类似。
19:UIView属性clipsTobounds的应用
view添加view,并剪边(UIView属性clipsTobounds的应用)
如题,有两个view: view1,view2
view1添加view2到其中,如果view2大于view1,或者view2的坐标不在view1的范围内,view2是盖着view1的,意思就是超出的部份也会画出来 UIView有一个属性,clipsTobounds 默认情况下是NO,
如果,我们想要view2把超出的那部份隐藏起来的话,就得改变它的父视图也就view1的clipsTobounds属性值。
view1.clipsTobounds = YES;
20:CALayer常见几个设置
边框,圆角,阴影
设置圆角边框
someView.layer.cornerRadius =4.0f;
someView.layer.masksToBounds = YES;
//设置边框及边框颜色
someView.layer.borderWidth = 0.5f;
someView.layer.borderColor =[ [UIColor grayColor] CGColor];
//添加四个边阴影 _imgvPhoto.layer.shadowColor = [UIColor blackColor].CGColor; _imgvPhoto.layer.shadowOffset = CGSizeMake(, ); _imgvPhoto.layer.shadowOpacity = 0.5; _imgvPhoto.layer.shadowRadius = 10.0;
_ imgvPhoto.layer.masksToBounds = NO;
//添加两个边阴影 _imgvPhoto.layer.shadowColor = [UIColor blackColor].CGColor; _imgvPhoto.layer.shadowOffset = CGSizeMake(, ); _imgvPhoto.layer.shadowOpacity = 0.5; _imgvPhoto.layer.shadowRadius = 2.0;
说明: ① someView 表示UIView及其之类; ② 必须引入:#import<QuartzCore/QuartzCore.h>
21:UIActionSheet弹出显示
#define kKeyWindow [UIApplication sharedApplication].keyWindow
UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:nil delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:nil otherButtonTitles:@"拍照", @"从相册选择", nil];
[actionSheet showInView:kKeyWindow];
22:block回调传参的运用
有两个viewcontroller分别为a,b;其中a跳转到b,从b得到一个值,然后再跳转到a,并显示出b的值;
代码如下:
a.h
- (IBAction)otherStoryboard:(id)sender;
@property (weak, nonatomic) IBOutlet UILabel *lableInfo; a.m - (IBAction)otherStoryboard:(id)sender {
UIStoryboard* mainStoryboard=[UIStoryboard storyboardWithName:@"HotelStoryboard" bundle:nil];
HotelViewController* weathcontroller=[mainStoryboard instantiateViewControllerWithIdentifier:@"hotelStoryboard"];
weathcontroller.block=^(NSString* InputValue)
{
self.lableInfo.text=InputValue;
};
[self presentViewController:weathcontroller animated:YES completion:^{ }];
} b.h
typedef void(^ChangInputText)(NSString* InputValue);
@property(copy,nonatomic)ChangInputText block;
- (IBAction)backButton:(id)sender;
@property (weak, nonatomic) IBOutlet UITextField *inputText; b.m
- (IBAction)backButton:(id)sender {
NSString* backsValue=self.inputText.text;
_block(backsValue);
[self dismissViewControllerAnimated:YES completion:^{ }];
} 当然也可以使用一个公开的方法,然后把block伟参数直接调用,可以访问下面的网址:
http://blog.csdn.net/itpeng523/article/details/24315541
23:单例模式运用
.h @interface Coding_NetAPIManager : NSObject
(instancetype)sharedManager; - (void)request_Tweet_DoTweet_WithObj:(Tweet *)tweet andBlock:(void (^)(id data, NSError *error))block;
@end .m @implementation Coding_NetAPIManager
+ (instancetype)sharedManager {
static Coding_NetAPIManager *shared_manager = nil;
static dispatch_once_t pred;
dispatch_once(&pred, ^{
shared_manager = [[self alloc] init];
});
return shared_manager;
} (void)request_Tweet_DoTweet_WithObj:(Tweet *)tweet andBlock:(void (^)(id data, NSError *error))block{ …. }
@end 然后调用时:
[[Coding_NetAPIManager sharedManager] request_Tweet_DoTweet_WithObj:nextTweet andBlock:^(id data, NSError *error) { }];
24:常见的常量
#define kKeyWindow [UIApplication sharedApplication].keyWindow
#define kScreen_Bounds [UIScreen mainScreen].bounds
#define kScreen_Height [UIScreen mainScreen].bounds.size.height
#define kScreen_Width [UIScreen mainScreen].bounds.size.width 常用的方法: - (void)setY:(CGFloat)y{
CGRect frame = self.frame;
frame.origin.y = y;
self.frame = frame;
}
- (void)setX:(CGFloat)x{
CGRect frame = self.frame;
frame.origin.x = x;
self.frame = frame;
}
- (void)setHeight:(CGFloat)height{
CGRect frame = self.frame;
frame.size.height = height;
self.frame = frame;
}
- (void)setWidth:(CGFloat)width{
CGRect frame = self.frame;
frame.size.width = width;
self.frame = frame;
}
- (void)setSize:(CGSize)size{
CGRect frame = self.frame;
frame.size.width = size.width;
frame.size.height = size.height;
self.frame = frame;
}
+ (CGRect)frameWithOutNavTab{
CGRect frame = kScreen_Bounds;
frame.size.height -= (++);//减去状态栏、导航栏、Tab栏的高度
return frame;
}
+ (CGRect)frameWithOutNav{
CGRect frame = kScreen_Bounds;
frame.size.height -= (+);//减去状态栏、导航栏的高度
return frame;
}
25:判断类中是否有方法:
26:图片填充背景
IOS客户端Coding项目记录(三)的更多相关文章
- IOS客户端Coding项目记录导航
IOS客户端Coding项目记录(一) a:UITextField设置出现清除按键 b:绘画一条下划线 表格一些设置 c:可以定义表头跟底部视图(代码接上面) d:隐藏本页的导航栏 e:UIEdge ...
- IOS客户端Coding项目记录(四)
1:打开Xcode,然后闪退,报加载某库出现异常 如/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolc ...
- IOS客户端Coding项目记录(五)
1:统一修改导航栏的样式,在 AppDelegate.m中 - (BOOL)application:(UIApplication *)application didFinishLaunchingWit ...
- IOS客户端Coding项目记录(二)
9:第三方插件整理 JSON转实体:jsonModel https://github.com/icanzilb/JSONModel/ 美化按键:BButton https://github.com/m ...
- IOS客户端Coding项目记录(一)
1:UITextField设置出现清除按键 self.textField.clearButtonMode = UITextFieldViewModeWhileEditing; 说明: UITextFi ...
- IOS客户端Coding项目记录(六)
1:获取某一行的坐标 UITableViewCell *cell = [_myTableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow: ...
- 开源项目在真机调试(Coding iOS 客户端为例)
一.前言 iOS 13学习系列:如何在github下载开源项目到本地(Coding iOS 客户端为例)已经把 Coding iOS 客户端源码下载到本地. 但项目进行真机调试遇到很多问题. 二.问题 ...
- 如何在github下载开源项目到本地(Coding iOS 客户端为例)
一.前言 以 Coding iOS 客户端 为例讲解如何在github下载开源项目到本地 github地址:https://github.com/Coding/Coding-iOS 二.分析 根据项目 ...
- “快的打车”创始人陈伟星的新项目招人啦,高薪急招Java服务端/Android/Ios 客户端研发工程师/ mysql DBA/ app市场推广专家,欢迎大家加入我们的团队! - V2EX
"快的打车"创始人陈伟星的新项目招人啦,高薪急招Java服务端/Android/Ios 客户端研发工程师/ mysql DBA/ app市场推广专家,欢迎大家加入我们的团队! - ...
随机推荐
- 51nod1981 如何愉快地与STL玩耍
先摆官方题解吧......... ....................有什么好讲的呢....... 注意一些地方常数优化一下.......然后......$bitset$怎么暴力怎么来吧..... ...
- Android签名有什么作用?
应用程序升级:如果你希望用户无缝升级到新的版本,那么你必须用同一个证书进行签名.这是由于只有以同一个证书签名,系统才会允许安装升级的应用程序.如果你采用了不同的证书,那么系统会要求你的应用程序采用不同 ...
- 快速排序及查找第K个大的数。
本文提供了一种基于分治法思想的,查找第K个大的数,可以使得时间复杂地低于nlogn. 因为快排的平均时间复杂度为nlogn,但是快排是全部序列的排序, 本文查找第k大的数,则不必对整个序列进行排序.请 ...
- 阿里云+django实战记录
2013年7月13日10:36:53:接上篇,bae部署django没成功,转战阿里云.. 阿里云服务器最便宜69/月,现在有个活动,新用户送20元现金券,我就花了RMB 49买了一个,操作系统选的是 ...
- hdu 1532 Drainage Ditches (最大流)
最大流的第一道题,刚开始学这玩意儿,感觉好难啊!哎····· 希望慢慢地能够理解一点吧! #include<stdio.h> #include<string.h> #inclu ...
- Integrate SharePoint 2013 with Team Foundation Server 2012
Now that SharePoint 2013 is out I want to make sure that I can integrate SharePoint 2013 with Team F ...
- 小道消息:CSDN社区产品重大更新
Hi,小伙伴们: 悄悄给大家透露个消息:CSDN社区将要有重大更新. 都有哪些呢?各自是:新极客头条.Ink.博乐 是不是后面两个比較眼生?不要着急,那但是我们的重中之重.我来给大家一一道来-- 先来 ...
- java读写锁实现数据同步访问
锁机制最大的改进之一就是ReadWriteLock接口和它的唯一实现类ReentrantReadWriteLock.这个类有两个锁,一个是读操作锁,另一个是写操作锁.使用读操作锁时可以允许多个线程同时 ...
- 使用tortoisegit访问git@oschina
转自:http://www.3lian.com/edu/2014/01-03/121350.html 首先,如果你想使用git@oschina ,你的电脑上必须先有git工具:你可以从这里获取谷歌提供 ...
- STL源码剖析——hashtable
二叉搜索树具有对数时间的搜索复杂度,但是这样的复杂度是再输入数据有足够的随机性的假设上哈希表在插入删除搜索操作上也具有常数时间的表现,而且这种表现是以统计为基础,不需要依赖输入元素的随机性 hasht ...