iOS 怎么在launchscreen.xib中添加图片?

细粉条 2014-12-09 06:43:39
iOS 怎么在launchscreen.xib中添加图片?
launchscreen.xib是启动界面,上面默认有 工程名以及copyrights......一句话。
现在想添加一个图片,托一个imageview后无法适应大小,需要支持iphone和ios。
请问有什么方法可以让添加的图片自适应?
另外,iphone和ipad各个版本的像素是多少?与1x,2x,3x什么的对应关系。
多谢了
...全文
22132 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
seaofbbs 2015-09-13
  • 打赏
  • 举报
回复
引用 12 楼 ShenQi880 的回复:
楼主问个问题 知道如何将启动页显示图片换为从服务器获取的
越来越像知乎日报的启动界面了~~
ShenQi880 2015-03-05
  • 打赏
  • 举报
回复
楼主问个问题 知道如何将启动页显示图片换为从服务器获取的
ReyZhang 2014-12-20
  • 打赏
  • 举报
回复
引用 9 楼 qq_20818581 的回复:
楼主借问一下,添加图像之后怎么才能让启动画面多显示几秒?现在都是一闪而过了
可以在AppDelegate 的应用启动的代理方法中阻塞主线程来达到效果。如 sleep(2);
qq_20818581 2014-12-18
  • 打赏
  • 举报
回复
楼主借问一下,添加图像之后怎么才能让启动画面多显示几秒?现在都是一闪而过了
miss_chalk 2014-12-18
  • 打赏
  • 举报
回复
引用 9 楼 qq_20818581 的回复:
楼主借问一下,添加图像之后怎么才能让启动画面多显示几秒?现在都是一闪而过了
 //设置splashVC,显示splashVC.view。不使用其他splashVC的功能
    self.splashViewController=[[UIViewController alloc]init];
    NSString * splashImageName=@"splash.jpg";
    if(self.window.bounds.size.height>480){
        splashImageName=@"splashR4.jpg";
    }
    self.splashViewController.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:splashImageName]];
    //把splashVC添加进去
    [self.window addSubview:self.splashViewController.view];
    //⬇️ 让splashimage显示2s,让用户看一眼得了。
    [self performSelector:@selector(splashAnimate:) withObject:@0.0 afterDelay:2.0];
-(void) splashAnimate:(NSNumber *)alpha{
    // ⬇️ 只能用UIViewAnimationOptionCurveEaseInOut和ViewAnimationOptionTransitionNone两种效果
    UIView * splashView=self.splashViewController.view;
    [UIView animateWithDuration:1.0 animations:^{
        splashView.transform=CGAffineTransformScale(splashView.transform, 1.5, 1.5);
        splashView.alpha=alpha.floatValue;
    } completion:^(BOOL finished) {
        //ARC通过赋值nil释放内存,动画中不能removeFromSuperview.
        [splashView removeFromSuperview];
        self.splashViewController=nil;
    }];
}
这个思路是否满足你的要求呢?? 不过我感觉程序员如果大了起来,自然启动画面时间就长了~~~
ReyZhang 2014-12-10
  • 打赏
  • 举报
回复
引用 4 楼 liyun123gx 的回复:
在launchscreen.xib中拖放的imageview可以通过添加 auto layout 约束来适应各个屏幕的尺寸 是不是用这里设置 应该怎么设置呢?本人刚接触ios,望多多指教。再介绍点这方面的资料那是极好的啦。 多谢多谢。
这是对size class的设置。auto layout 的约束是在右下角上的几个图标。也可以通过菜单上的"Editor" 中找到相应的功能。
ReyZhang 2014-12-10
  • 打赏
  • 举报
回复
引用 3 楼 liyun123gx 的回复:
另外,我想用SQLite3存储数据,能不能推荐点这方面的资料?有没有简单易懂的实例代码?多谢了
建议使用CoreData 来操作,其本质也是使用sqlite来存储的数据。如果不使用CoreData,也可以使用一些比sqlite3好用的第三方库来操作,如:FMDB库,可以去github上下载
ReyZhang 2014-12-10
  • 打赏
  • 举报
回复
引用 2 楼 liyun123gx 的回复:
[quote=引用 1 楼 zhanglei5415 的回复:] 在launchscreen.xib中拖放的imageview可以通过添加 auto layout 约束来适应各个屏幕的尺寸。这一块使用到的技术就是NSLayoutConstraint 。通过auto layout 你可以给imageview添加pin 或水平居中,垂直居中等约束。 iphone 中非retain 屏的像素是 320*480 也就是1x ,retain 屏的像素是非retain屏的2倍,所以我们用 @2x 来表示图片是在retain屏中来使用。 4.7的iphone6 也是使用@2x的 ,5.5的 iphone6 plus 它使用的是@3x 的图片像素 至于ipad ,非retain屏的像素是1024 *768 , retain 屏同iphone是原来的2倍
是不是如下这样的: iphone: 1x: 320*480 2x: 640*960 3x: 960*1440 ipad: 1x: 768*1024 2x: 1536*2048 那retina 4 2x是多大? [/quote] retain 4 是 4-inch 屏,高度变高了,尺寸是320*568,对应的像素值是640*1136
Bannings 2014-12-10
  • 打赏
  • 举报
回复
retina 4是指4寸屏,即640*1136。 sqlite的入门没有比这个更简单的了:http://www.appcoda.com/sqlite-database-ios-app-tutorial/ 原生API使用起来有点麻烦,你可以在学习阶段用用原生API,后期再看看FMDB,看看是怎么封装的。 你最后发的那几张图是Size Classes的功能点,建议你先把Auto Layout布局系统熟练使用(Xib拖拽的方式和手写的方式),然后看看猫神的这篇:http://onevcat.com/2014/07/ios-ui-unique/
细粉条 2014-12-09
  • 打赏
  • 举报
回复
在launchscreen.xib中拖放的imageview可以通过添加 auto layout 约束来适应各个屏幕的尺寸
是不是用这里设置


应该怎么设置呢?本人刚接触ios,望多多指教。再介绍点这方面的资料那是极好的啦。
多谢多谢。
细粉条 2014-12-09
  • 打赏
  • 举报
回复
另外,我想用SQLite3存储数据,能不能推荐点这方面的资料?有没有简单易懂的实例代码?多谢了
细粉条 2014-12-09
  • 打赏
  • 举报
回复
引用 1 楼 zhanglei5415 的回复:
在launchscreen.xib中拖放的imageview可以通过添加 auto layout 约束来适应各个屏幕的尺寸。这一块使用到的技术就是NSLayoutConstraint 。通过auto layout 你可以给imageview添加pin 或水平居中,垂直居中等约束。

iphone 中非retain 屏的像素是 320*480 也就是1x ,retain 屏的像素是非retain屏的2倍,所以我们用 @2x 来表示图片是在retain屏中来使用。 4.7的iphone6 也是使用@2x的 ,5.5的 iphone6 plus 它使用的是@3x 的图片像素
至于ipad ,非retain屏的像素是1024 *768 , retain 屏同iphone是原来的2倍


是不是如下这样的:
iphone: 1x: 320*480
2x: 640*960
3x: 960*1440
ipad: 1x: 768*1024
2x: 1536*2048
那retina 4 2x是多大?

ReyZhang 2014-12-09
  • 打赏
  • 举报
回复
在launchscreen.xib中拖放的imageview可以通过添加 auto layout 约束来适应各个屏幕的尺寸。这一块使用到的技术就是NSLayoutConstraint 。通过auto layout 你可以给imageview添加pin 或水平居中,垂直居中等约束。 iphone 中非retain 屏的像素是 320*480 也就是1x ,retain 屏的像素是非retain屏的2倍,所以我们用 @2x 来表示图片是在retain屏中来使用。 4.7的iphone6 也是使用@2x的 ,5.5的 iphone6 plus 它使用的是@3x 的图片像素 至于ipad ,非retain屏的像素是1024 *768 , retain 屏同iphone是原来的2倍
作者Flying-Einstein,源码LaunchScreenTest,常见的几种启动图风格 静态图类型 :微信 图片不变,有动画效果 :京东 随着节日或者时间动态更换的 :百度云、网易公开课 网易公开课 注意:笔者说的启动图并不是广告页,启动图是不接受点击事件的,但是广告页是接受点击事件的,点击后一般会跳转到网页。如下: 这几种风格的启动图怎么实现的? 静态图类型 :这种比较简单,开发者可以使用LaunchImage和LaunchScreen.storyboard的任何一种方式添加所需的正确格式的图片 图片不变,有动画效果 :这种方式,笔者认为在实现方式上和第三种是一样的,就不在赘述,感兴趣的读者在看完第三种实现方式后,可以尝试去做。 随着节日或者时间动态更换的 :这种方式,也就是笔者今天着重要讲的,原理及实现方式。 像百度云或者网易公开课一样动态更换APP启动图原理 其实你看到的不是一张图片 :读者仔细观察就会发现,使用这种方式的的启动图,用的不是一张图片,而是两张。我们拿百度云来举例: 可以看到,两张图片的区别就是,底部都是一样的,而第一张上半部分是空白。其实,网易公开课和支付宝德也是如此。第一张图片是内容兼容性很强的图片,就是一个版权说明加上一个类似于app logo的样式,上面空白部分可以根据节日的不同,调整展示的样式 这两张图片还有其他的不同吗 :因为笔者经常使用这几款app,发现有的时候第二张图片是不显示的,显示完第一张图片直接跳到app主页了。笔者认为,第一张图片就是放在[LaunchImage或者LaunchScreen.xib图片,是不会改变的。第二张图片则是从网上获取的,而且可以根据是否获取到相应的图片网址决定第二张图片能否显示。 为什么要这么做 :有的读者可能有疑问,为什么要这么做?难道不可以直接更换掉第一张启动图吗,或者不显示第一张只显示第二张?答案:NO! 更换第一张图片?抱歉,更换不了,如果你使用的是LaunchScreen.xib或者LaunchScreen.Storyboard,只要你的app启动过,那张图片就永远的缓存在app里了,以后每次启动都会出现。 网络请求有延时,如果不放第一张图片,只放第二张图片,会出现短暂的黑屏。 从产品的角度来讲,也不合理。比如:植树节的时候我展示了和环保有关的内容,如果过了植树节,那么正常情况下我不展示该内容就可以了,后台不返回相应的图片网址,展示完第一张图片就ok了。如果没有第一张图片,那么过了植树节,我就需要把网址更换,需要一个下载图片的过程,从用户体验来讲也不好,时间延迟也会浪费流量。

29,030

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧