ios-从ViewController返回View

问题描述

从ViewController返回View

有一个函数返回显示的View,在使用下面的代码时候能看见View:

UIViewController* vcontroller= [storyboard instantiateViewControllerWithIdentifier:@"meterEnlarge"];
return vcontroller.view;

但是如果用下面的代码时:

ViewController_Meter_Enlarge_iPad* controller = [[ViewController_Meter_Enlarge_iPad alloc]init];
return controller.view;

就不能看见view了,由于需要修改属性,所以需要实现第二种方法。
怎么样从VC返回view?

解决方案

ViewController_Meter_Enlarge_iPad 的init函数是否加载了xib里面的内容,或者自己addsubview了?如果没有,返回的view就是空白的。
你可以试一下将init里面的内容改为

[NSBundle loadNibNamed:@"xib名字" owner:self];
if(self){
}
return self;
有不懂的可以再提问。

解决方案二:

你不创建一个viewcontroller,从NIB文件初始化它,这个view是无法设置的:

- (id)initWithNibName:(NSString *)nibName bundle:(NSBundle *)nibBundle

看一下链接给的说明

解决方案三:

尽管xib已经与类绑定了,但并不是双向的,也就是说创建类的实例时如果步指定xib文件,view就是个空白的界面,什么都没有,所以在创建ViewController_Meter_Enlarge_iPad 对象时一定要指定xib 文件名

时间: 2024-10-03 21:40:56

ios-从ViewController返回View的相关文章

关于iOS导航栏返回按钮问题的解决方法_IOS

最近遇到一个关于导航栏返回按钮的问题,因为之前项目里面都是用的系统默认的返回按钮样式所以没有想过要去更改,后来有需要将返回按钮箭头旁边的文字去掉,同时将该返回按钮的点击事件重新定义.一开始尝试自定义按钮然后设置为leftBarButtonItem,但是这样图片可能跟系统自带的不一样,还有就是返回按钮的位置跟系统自带的不一样.后来找了一些资料,发现将文字去掉比较简单,一般做法是控制器中添加如下代码,然后他的下一级控制就有一个只有箭头没有文字返回按钮: 复制代码 代码如下: UIBarButtonI

cocoa touch-有关ios的viewController问题

问题描述 有关ios的viewController问题 正在开发navigationController 应用.在viewController里,分别有vcA和vcB. [self presentModalViewController:vcB animated:YES]; 当vcB加载完成,能不能在vcA中获取到? 我知道有一种方法,通过定义vcB的子类实现,但是我想要IOS里面自带的实现方法或属性. 解决方案 我建议使用blocks 如果只需要一个回调. 首先,在第二个viewControll

ios开ViewController的生命周期分析和使用

ViewController加载View 从Storyboards中加载的时候,会调用initWithCode,如果不存在则调用init.之后对里面的每个对象调用awakeFromNib方法. 从内存中alloc出来的情况下,调init方法. ViewController查找与其关联的view,其顺序是: 先判断子类是否重写了loadView,如果有直接调用.之后调viewDidLoad完成View的加载. 如果是外部通过调用initWithNibName:bundle指定nib文件名的话,Vi

app-关于ios中navigation返回并且传值的问题,

问题描述 关于ios中navigation返回并且传值的问题, 跟页面中没有问题,进入第二个页面后,单击按钮完成传值,并pop到前一页,代码如下 MainTableViewController *setPrizeVC = [self.navigationController.viewControllers objectAtIndex:self.navigationController.viewControllers.count-2]; //初始化其属性 [[setPrizeVC two] rem

iOS如何获取当前View所在控制器的方法_IOS

前言 不知道大家有没有遇到过在做轮播图的时候,有点轮播图展示的是广告,有的是活动,等等还有其他的,当前点击某个轮播的时候要跳转到不同的控制器,点击事件是在控制器写的,为了避免控制器代码过多,显示的臃肿.我创建了一个UIWindow的分类,暂且叫Model (GetCurrentVC) 实现方法 谷歌还有很多方法,下面这个方法亲测有效,有需要的可以参考借鉴. 一: @interfaceUIWindow (GetCurrentVC) - (UIViewController*)getCurrentVC

ios 滑动返回-iOS 右滑返回时将上个界面的navgationbar带到了返回后的界面

问题描述 iOS 右滑返回时将上个界面的navgationbar带到了返回后的界面 用的系统的滑动返回,在滑动返回时遇到了这种情况, navigationItem也是自定义的 解决方案 解决方案二: 解决方案三: 系统的滑动返回是在navgationcontroller上实现的.所以返回后的页面会有nav

ios 注册失败 返回 注册失败,未知错误: 1000

问题描述 ios 注册失败 返回 注册失败,未知错误: 1000 在异步注册账号时,注册失败输出 error.errorCode 打印 未知错误: 1000 解决方案 无效的appkey,检查appkey是否填错.

Android实现类似IOS右滑返回的效果(原因分析及解决办法)

使用类库SwipeBackLayout https://github.com/Issacw0ng/SwipeBackLayout 出现的问题: 1. 主Activity返回时黑屏或者返回只是看到桌面背景而没有看到上一个Activity界面 原因: 使用滑动返回需要在Activity的额主题中声明android:windowIsTranslucent=true,而该属性是设置Activity为是否为透明主题,当主Activity采用透明主题时,由于是app Activity栈中的第一个,所以滑动返

IOS开发向右滑动返回前一个页面功能(demo)_Android

在ios7中,苹果的原生态应用几乎都能够通过向右滑动来返回到前一个页面,这样可以避免用户在单手操作时用大拇指去点击那个遥远的返回键(iphone5的这种返回被吐糟为反人类设计).然而现在android的手机市场上几乎很难找到小于4寸屏的手机了,几乎所有的应用都是通过点击左上角的返回来退到上一个页面,如果单手拿一个大屏手机,我是觉得会发疯.为此花了点时间写了个向右滑动返回的demo. 效果如下图: 此图为点击第一个Activity跳转到第二个Activity后,向右滑动再返回到第一个Activit