首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
MCU 单片机技术
»
PowerPC
» 创建用于 iPad 的 iOS 幻灯片应用程序(3)添加图像视图
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
创建用于 iPad 的 iOS 幻灯片应用程序(3)添加图像视图
发短消息
加为好友
look_w
当前离线
UID
1066743
帖子
8283
精华
0
积分
4142
阅读权限
90
在线时间
233 小时
注册时间
2017-6-23
最后登录
2019-5-18
论坛元老
UID
1066743
1
#
打印
字体大小:
t
T
look_w
发表于 2018-10-18 16:59
|
只看该作者
创建用于 iPad 的 iOS 幻灯片应用程序(3)添加图像视图
添加图像视图 下一步是添加图像视图用于显示图像。iOS 框架提供了一套丰富的内置控件,可用来创建您的应用程序。对于该示例,您将使用 UIImageView 控件。通过使用 UIImageView 您可以显示那些编译到应用程序的图像,本地存储在设备中的图像,或者,如该示例所示,从网站下载的图像。
要添加 UIImageView,请打开 slideshowControllerView.XIB 文件,它是 slideshowControllerView 的用户界面定义文件。打开 XIB 后,请在对象面板选择
Image View
,如 所示。
图 5. 将 UIImageView 对象添加到视图控制器 XIB
选择了 Image View 后,将其拖放到 slideshowControllerView。通常,IDE 会自动缩放控件的尺寸,使其适应可用的空间。如果没有进行缩放,则只须拖动控件并调整其大小,直到它填满了整个显示区域。
当该控件出现在视图上后,设置某些参数获得应用程序的最佳外观和感受。 显示了 Image View 控件的属性屏幕上的设置。
图 6. 配置 UIImageView
您需要执行的两个修改分别是 “模式” 和 “背景”。将 “模式” 设置为
Aspect Fit
,以便缩放该图像但仍保留其原始的宽高比。如果您不想使用 Aspect Fit,您的图像将拉伸和缩放,以匹配图像视图的显示区域,最终看起来非常棒。
由于图像可能并不总是适合可用的区域,您还需要将 Background 属性设置为
Dark Text Color
或使用颜色选择器选择深黑色。在默认情况下,该值为白色。大多数照片当放在亮白框架里时效果都不好。
保存 XIB 文件,并移动到 SlideshowViewController.h 文件。进行小改动,如 所示。
清单 2. SlideshowViewController.h
1
2
3
4
5
6
7
#import <UIKit/UIKit.h>
@interface slideshowViewController : UIViewController {
IBOutlet UIImageView *imgView;
}
@end
您需要将 Outlet 添加到 slideshowViewController,以允许在 XIB 中定义的控件连接到视图控制器类。
在添加了出口后,返回到 XIB 文件,选择 UIImageView,使用连接检查器将 UIImageView 对象连接到 slideshowViewController 类中的 imgView 变量。
连接完成后,对幻灯片视图控制器类本身进行代码修改,以加载图像。 显示了该类别的完整的第一版。
清单 3. SlideshowViewController.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#import "slideshowViewController.h"
@implementation slideshowViewController
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
}
#pragma mark - View lifecycle
- (void)viewDidLoad
{
[super viewDidLoad];
NSURL *imageURL = [NSURL URLWithString
"http://localhost/photos/CRW_0675.jpg"];
NSData *imageData = [NSData dataWithContentsOfURL:imageURL];
UIImage *image = [UIImage imageWithData:imageData];
[imgView setImage:image];
}
- (void)viewDidUnload
{
[super viewDidUnload];
}
- (BOOL)shouldAutorotateToInterfaceOrientation:
(UIInterfaceOrientation)interfaceOrientation
{
return YES;
}
@end
slideshowViewController 类中的重要工作是以 viewDidLoad 方法完成的,现在:
加载来自 URL 的数据。
将数据转换成图像。
在图像视图上使用 setImage 方法显示该图像。
此时,您应该运行该应用程序来测试图像是否会出现。您会看到与 相似的内容,该图显示了 iPad 模拟器中显示图像。
图 7. 来自服务器的第一个图像
如果您没有看到图像,问题很可能是因为 setImage 方法调用 imgView。验证 UIImageView 对象是否正确地连接到 imgView 变量。如果在此之前,应用程序发生了故障,那么您的 URL 可能不正确,或者服务器上的某些项目不正确。
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议