【发布时间】:2011-03-13 10:53:16
【问题描述】:
我想做一个壁纸 iphone 应用程序。 现在,如果我有例如 100 个壁纸,我是否必须创建 100 个 nib 文件和 100 个 .m 和 .h 文件以及 100 个 UIButtons 来保存壁纸和 100 个 UIButton 才能转到上一个或下一个壁纸? 有没有其他方法可以做到这一点? 谢谢!
【问题讨论】:
标签: cocoa xcode uiimageview uibutton wallpaper
我想做一个壁纸 iphone 应用程序。 现在,如果我有例如 100 个壁纸,我是否必须创建 100 个 nib 文件和 100 个 .m 和 .h 文件以及 100 个 UIButtons 来保存壁纸和 100 个 UIButton 才能转到上一个或下一个壁纸? 有没有其他方法可以做到这一点? 谢谢!
【问题讨论】:
标签: cocoa xcode uiimageview uibutton wallpaper
是的,当然。 将您的一百张壁纸保存在资源文件夹中。它们被命名为“wp_1.png”、“wp_2.png”等。 然后你用按钮创建一个笔尖(上一个,下一个和保存) 在 uiviewcontroller 中,您将拥有一个 int 属性。例如,您将其称为 n 或类似的名称。我建议为您的墙纸添加另一个属性(UIImageView)然后您在视图控制器中实现这些方法。
-(void)awakeFromNib {
self.n = 1;
UIImage* wallpaper = [UIImage imageNamed:@"wp_1.png"];
UIImageView* view = [[UIImageView alloc] initWithFrame:CGRectMake(0,0,320,480)];
self.wallpaper = view;
view.image=wallpaper;
[self.view addSubview:view];
}
-(IBAction)next:(id)sender {
self.n++; // increases n by 1;
[self.wallpaper removeFromSuperview];
NSString* name = [NSString stringWithFormat:@"wp_%i.png", self.n];
UIImage* wallpaper = [UIImage imageNamed:name];
UIImageView* view = [[UIImageView alloc] initWithFrame:CGRectMake(0,0,320,480)];
self.wallpaper = view;
view.image=wallpaper;
[self.view addSubview:view];
}
类似的东西。希望有帮助
【讨论】:
当然不是。我会为此使用 UITableView 。或者更好的自定义视图看起来类似于 iPhone 上的照片应用。
您不想使用 UIButton 转到上一张或下一张照片。您想在分页模式下使用 UIScrollView。
但是您不希望用户首先以这种方式浏览您的图像。
创建一个包含所有图像缩略图的 UIScrollView(这次不分页)的索引屏幕。当一个被点击时,它会放大一个漂亮的动画,你可以使用我之前提到的分页 UIScrollView 轻弹到下一个或上一个图像。
你知道,就像照片应用一样。
【讨论】:
在标题(.h 文件)中添加类似的内容:
int n; UIImageView* 壁纸; }
@property (readwrite) int n; @property(读写,保留)UIImageView* 壁纸;
在实现文件(.m 文件)中:
@synthesize n,壁纸;
【讨论】: