
我在应用程序中制作了一个注册表单,当我在纵向模式下看到我的应用程序时,
我能够看到没有滚动的整个表单,但是当我在横向模式中看到相同的表单时,我无法看到位于页面底部的部分,因为滚动应该在那里看到底部.
:
在我的.h文件中,当我更换
@interface ReminderPage : UIVIEwController{......} :UIVIEwController:UIScrollVIEw
然后当我在我的.m文件中添加标签时,
UILabel *LastpaIDlbl = [[[UILabel alloc] initWithFrame:CGRectMake(70,400,130,50)]autorelease]; LastpaIDlbl.backgroundcolor = [UIcolor greencolor]; LastpaIDlbl.Font=[UIFont systemFontOfSize:20]; LastpaIDlbl.text = @"LastpaID on :"; [self.vIEw addSubvIEw:LastpaIDlbl];
我在最后一行得到错误在类型classname的对象上找不到属性视图.
我无法在视图中添加标签.
任何帮助将不胜感激.
解决方法 如果要用UIScrollVIEw替换UIVIEwController,则必须对代码进行一些重构.你得到的错误只是一个例子:语法:
[self.vIEw addSubvIEw:LastpaIDlbl];
如果self是UIVIEwController,则是正确的;因为您将其更改为UIScrollVIEw,您现在应该:
[self addSubvIEw:LastpaIDlbl];
您将对此代码进行相当多的更改,并将面临一些问题.
另一种方法是:
>实例化UIScrollVIEw(不是从它派生);
>将您的UIVIEw(例如您已定义它)添加到滚动视图;
>定义滚动视图的contentSize,以包含您拥有的整个UIVIEw.
滚动视图充当现有视图的容器(将控件添加到滚动视图,然后将滚动视图添加到self.vIEw);这样,您可以将其集成到现有控制器中:
1. UIScrollVIEw* scrollVIEw = <alloc/init> 2. [self.vIEw addSubvIEw:scrollVIEw]; (in your controller) 3. [scrollVIEw addSubvIEw:<label>]; (for all of your labels and fIElds). 4. scrollVIEw.contentSize = xxx;
我认为后一种方法会容易得多.
总结以上是内存溢出为你收集整理的iphone – 将UIViewController转换为UIScrollViewController全部内容,希望文章能够帮你解决iphone – 将UIViewController转换为UIScrollViewController所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)