0

我想做一个壁纸iphone应用程序。现在,如果我有例如 100 个壁纸,我是否必须创建 100 个 nib 文件和 100 个 .m 和 .h 文件以及 100 个 UIButtons 来保存壁纸和 100 个 UIButton 才能转到上一个或下一个壁纸?有没有其他方法可以做到这一点?谢谢 !

4

3 回答 3

0

当然不是。我会为此使用 UITableView 。或者甚至更好的自定义视图看起来类似于 iPhone 上的照片应用程序。

您不想使用 UIButton 转到上一张或下一张照片。您想在分页模式下使用 UIScrollView。
但是您不希望用户首先以这种方式浏览您的图像。

创建一个包含所有图像缩略图的 UIScrollView(这次不分页)的索引屏幕。当点击它时,它会放大一个漂亮的动画,你可以使用我之前提到的分页 UIScrollView 轻弹到下一个或上一个图像。

你知道,就像照片应用程序一样。

于 2011-03-13T11:14:28.327 回答
0

是的,当然。将您的一百张壁纸保存在资源文件夹中。它们被命名为“wp_1.png”、“wp_2.png”等。然后您使用按钮(上一个、下一个和保存)创建一个 nib 在 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];
}

类似的东西。希望有帮助

于 2011-03-13T11:15:52.840 回答
0

在标题(.h 文件)中添加类似的内容:

诠释n; UIImageView* 壁纸;}

@property (readwrite) int n; @property(读写,保留)UIImageView* 壁纸;

在实现文件(.m 文件)中:

@synthesize n,壁纸;

于 2011-03-13T19:16:09.953 回答