当前位置: 首页>移动开发>正文

ios 启动页轮播图 ios启动页尺寸

iOS和iPad各app图标和启动页尺寸

iphone APP图标尺寸:57X57    高清:114X114  单位:pixel   命名:无特殊要求,最好是,app_icon  高清的要加@2x

iphone 启动页尺寸:大小最好是320X460或320X480(相当于整个屏幕尺寸) 单位:pixel 命名:Default.png 

iPad APP图标尺寸:72X72 高清:144X144  单位:pixel 命名:

ipad 启动页尺寸:大小最好是768X1004或768X1024  单位:pixel 命名:Default-Portrait~ipad.png   高清:Default-Portrait@2x~ipad.png


如何代码实现跳转safari,phone或message?

在相应的代码中写入:

1、调用 电话phone

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://4008008288"]];

2、调用自带 浏览器 safari

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.abt.com"]];

3、调用 自带mail

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://admin@abt.com"]];

4、调用 SMS

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms://800888"]];

5,跳转到系统设置相关界面

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=WIFI"]];

其中,发短信,发Email的功能只能填写要发送的地址或号码,无法初始化发送内容,如果想实现内容的话,还需要更复杂一些,实现其各自的委托方法。

若需要传递内容可以做如下操作:

加入:MessageUI.framework

#import <MessageUI/MFMessageComposeViewController.h>

实现代理:MFMessageComposeViewControllerDelegate

1. 调用sendSMS函数  
2. //内容,收件人列表  
3. - (void)sendSMS:(NSString *)bodyOfMessage recipientList:(NSArray *)recipients  
4. {  
5. 
6.     MFMessageComposeViewController *controller = [[[MFMessageComposeViewController alloc] init] autorelease];  
7. 
8.     if([MFMessageComposeViewController canSendText])  
9. 
10.     {  
11. 
12.         controller.body = bodyOfMessage;     
13. 
14.         controller.recipients = recipients;  
15. 
16.         controller.messageComposeDelegate = self;  
17. 
18.         [self presentModalViewController:controller animated:YES];  
19. 
20.     }     
21. 
22. }  
23. 
24. // 处理发送完的响应结果  
25. - (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result  
26. {  
27.   [self dismissModalViewControllerAnimated:YES];  
28. 
29.   if (result == MessageComposeResultCancelled)  
30.     NSLog(@"Message cancelled")  
31.   else if (result == MessageComposeResultSent)  
32.     NSLog(@"Message sent")    
33.   else   
34.     NSLog(@"Message failed")    
35. }  
36. 
37. 
38. 发送邮件的为:  
39. 导入#import <MessageUI/MFMailComposeViewController.h>  
40. 实现代理:MFMailComposeViewControllerDelegate  
41. 
42. //发送邮件  
43. -(void)sendMail:(NSString *)subject content:(NSString *)content{  
44. 
45.     MFMailComposeViewController *controller = [[[MFMailComposeViewController alloc] init] autorelease];  
46. 
47.     if([MFMailComposeViewController canSendMail])  
48. 
49.     {  
50. 
51.         [controller setSubject:subject];  
52. 
53.         [controller setMessageBody:content isHTML:NO];  
54. 
55.         controller.mailComposeDelegate = self;  
56. 
57.         [self presentModalViewController:controller animated:YES];  
58. 
59.     }      
60. }  
61. 
62. //邮件完成处理  
63. -(void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error{  
64. 
65.     [self dismissModalViewControllerAnimated:YES];  
66. 
67.     if (result == MessageComposeResultCancelled)  
68.         NSLog(@"Message cancelled");  
69.     else if (result == MessageComposeResultSent)  
70.         NSLog(@"Message sent");   
71.     else   
72.         NSLog(@"Message failed");    
73. 
74. }  
75. 
76. 默认发送短信的界面为英文的,解决办法为:在.xib 中的Localization添加一組chinese

程序中获取软件的版本号和app名称

1. 应用程序的名称和版本号等信息都保存在mainBundle的infoDictionary字典中,用下面代码可以取出来。  
2. NSDictionary* infoDict =[[NSBundle mainBundle] infoDictionary];  
3. NSString* versionNum =[infoDict objectForKey:@"CFBundleVersion"];//版本名称  
4. NSString*appName =[infoDict objectForKey:@"CFBundleDisplayName"];//app名称


如何获取手机硬件信息?

通过使用UIDevice: 

[[UIDevice currentDevice] systemName];
[[UIDevice currentDevice] systemVersion];//os version
[[UIDevice currentDevice] uniqueIdentifier];
[[UIDevice currentDevice] model];
[[UIDevice currentDevice] name];

真机上结果:

System Name: iPhone OS

System Version: 4.2.1

Unique ID: 9b5ded78d5fa0ac96250f8b4af0e46f40b96ea6d

Model: iPhone

Name: “wwk”的 iPhone

模拟器上结果:

System Name: iPhone OS

System Version: 4.2

Unique ID: 21FFE0FF-429B-5D0B-96D2-EADCA3203260

Model: iPhone Simulator

Name: iPhone Simulator

uniqueIdentifier:iPhone通过,向几个硬件标识符和设备序列号应用内部散列算法,而生成这一标识符。

参考

,如何启动app时全屏显示Default.png(图片)?

大部分app在启动过程中全屏显示一张背景图片,比如新浪微博会显示这张:

要想在iOS中实现这种效果,毫无压力,非常地简单,把需要全屏显示的图片命名为Default.png即可,在iOS app启动时默认会去加载并全屏显示Default.png。

也可以用其他名称来命名图片,在Info.plist配置一下即可:

配置过后,app启动时就会去加载并全屏显示lufy.png

在默认情况下,app显示Default.png时并非真正的"全屏显示",因为顶部的状态栏并没有被隐藏,比如下面的效果:

大部分情况下,我们都想隐藏状态栏,让Default.png真正全屏显示。

说到这里,可能有人马上就想到了一种办法:在AppDelegate的application:didFinishLaunchingWithOptions:方法中添加如下代码:

[UIApplication sharedApplication].statusBarHidden = YES; 

我只能说你的思路是对的,但实际上达不到想要的效果,你会发现显示Default.png时状态栏还是存在的,等Default.png显示完毕后,状态栏才被隐藏。

我先解释下为什么这种方法不可行,其实原因很简单:

1> Default.png是在app启动过程中加载的,并不是在app启动完毕后再加载的

2> AppDelegate的application:didFinishLaunchingWithOptions:方法是在app启动完毕后才调用的

下面说一下解决方案,在Info.plist中增加一个配置即可:

这里的YES表示在app初始化(启动)的时候就隐藏状态栏。

当然,在Default.png显示完毕后状态栏还是隐藏的。如果想重新显示状态栏,补上下面代码即可:

[UIApplication sharedApplication].statusBarHidden = NO;

UITextField只有当有字符输入后,键盘右下角的搜索/返回/done/等等键才可以使用

TextField设置这个属性为YES就可以了,默认为NO

searchField.enablesReturnKeyAutomatically =YES;




UITableView中有多个UITextField时,被挡住的TextField如何实现自动向上弹起?

首先要实现TextField的delegate,在方法:

1. - (void)textFieldDidBeginEditing:(UITextField *)textField {  
2.     [self.tableView setContentOffset:CGPointMake(0, 70) animated:YES];  
3.     
4. }

这说明当开始输入时,tableview在原来的基础上向上抬起70个距离。多个UITextFiled可以通过判断来使用CGPoint的调整高度,我这写的是70.

tableview的scrollEnabled属性一定要是YES;要不然滚动不了了。

记得在return时复原tableview的位置:

1. - (BOOL)textFieldShouldReturn:(UITextField *)sender {  
2.     [self.tableView setContentOffset:CGPointMake(0, 0) animated:YES];  
3.     return YES;  
4. }

https://www.xamrdz.com/mobile/4ma1957393.html

相关文章: