use*_*042 5 xcode uiimageview ios uipageviewcontroller
我从Apple提供的标准的基于PageView的应用程序模板开始.现在,我希望应用程序中的页面显示图像,而不是文本.数组创建如下:
_pageData = [[NSArray alloc] initWithObjects:
[UIImage imageNamed:@"1.png"],
[UIImage imageNamed:@"2.png"],
[UIImage imageNamed:@"3.png"],
nil];
Run Code Online (Sandbox Code Playgroud)
此数组按以下方式处理:
DataViewController *dataViewController = [storyboard instantiateViewControllerWithIdentifier:@"DataViewController"];
dataViewController.dataObject = [self.pageData objectAtIndex:index];
return dataViewController;
Run Code Online (Sandbox Code Playgroud)
然后,在DataViewController.h中:
@interface DataViewController : UIViewController
@property (strong, nonatomic) IBOutlet UIImageView *imageView;
@property (strong, nonatomic) UIImage *dataObject;
Run Code Online (Sandbox Code Playgroud)
在DataViewController.m中,我试图通过以下方式在de imageView中显示图像:
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
self.imageView = [[UIImageView alloc] initWithImage:_dataObject];
NSLog(@"dataObject %@", _dataObject);
}
Run Code Online (Sandbox Code Playgroud)
但是,使用此代码,我没有成功将图像放到PageViewController上.知道我怎么能让这个工作正常吗?
非常感谢你的帮助!
这里
Run Code Online (Sandbox Code Playgroud)self.imageView = [[UIImageView alloc] initWithImage:_dataObject];
你正在创建一个新的UIImageView悬挂未使用,不可见和没有父.你需要以某种方式设置它的大小,并将其放在父视图中
[<parent> addSubview:self.imageView]
Run Code Online (Sandbox Code Playgroud)
展示它.
如果你从资源文件中读取原始的UIImageView(我假设是因为它是一个IBOutlet),那就做一个
self.imageView.image = _dataObject
Run Code Online (Sandbox Code Playgroud)
而这应该做的工作.
| 归档时间: |
|
| 查看次数: |
11394 次 |
| 最近记录: |