找到如下目录,你就明了了
~/Library/MobileDevice/Provisioning Profiles[……]
1、利用UITextField的属性leftView,创建一个宽为5,高为20的View设置为UITextField的leftView,这样视觉上就会有5像素的左边距
1 | UIView *paddingView = [[UIView alloc] initWithFrame:CGRectMake(0,[......]<p class="read-more"><a href="https://www.yusian.com/blog/project/2015/01/07/094706395.html">继续阅读</a></p> |
atomic和nonatomic用来决定编译器生成的getter和setter是否为原子操作。
? ?? ???atomic
? ?? ?? ?? ?? ? 设置成员变量的@property属性时,默认为atomic,提供多线程安全。
? ?? ?? ?? ?? ? 在多线程环境下,原子操作是必要的,否则有可能引起错误的结果。加了atomic,setter函数会变成下面这样:
? ?? ?? ?? ?? ?? ?? ?? ?{lock}
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???if (property != newValue) {
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? [property release];
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? property = [newValue retain];
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???}
? ?? ?? ?? ?? ?? ?? ?? ?{unlock}
? ?? ???nonatomic
? ?? ???禁止多线程,变量保护,提高性能。
? ?? ???atomic是Objc使用的一种线程保护技术,基本上来讲,是防止在写未完成的时候被另外一个线程读取,造成数据错误。而这种机制是耗费系统资源的,所以在iPhone这种小型设备上,如果没有使用多线程间的通讯编程,那么nonatomic是一个非常好的选择。[……]
在相应的代码中写入:
1、调用 电话phone
1 | [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://4008008288"]]; |
2、调用自带 浏览器 safari
1 | [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.abt.com"]]; |
3、调用 自带mail
1 | [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://admin@abt.com"]]; |
4、调用 SMS
1 | [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms://800888"]]; |
5,跳转到系统设置相关界面
1 | [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=WIFI"]]; |
其中,发短信,发Email的功能只能填写要发送的地址或号码,无法初始化发送内容,如果想实现内容的话,还需要更复杂一些,实现其各自的委托方法。
若需要传递内容可以做如下操作:
加入:MessageUI.framework
1 | #import <MessageUI/MFMessageComposeViewController.h> |
实现代理:MFMessageComposeViewControllerDelegate[……]
在项目中添加如下代码:
1 2 3 | //设置背景颜色: UIColor *itemcolor = [UIColor colorWithRed:100.0f/255.0f green:176.0f/255.0f blue:0.0f/255.0f alpha:0.3f]; self.navigationContro[......]<p class="read-more"><a href="https://www.yusian.com/blog/project/2015/01/06/114550403.html">继续阅读</a></p> |