我需要一个根视图控制器的实例.
我试过这些方法:
UIViewController *rootViewController = (UIViewController*)[[[UIApplication sharedApplication] keyWindow] rootViewController];
Run Code Online (Sandbox Code Playgroud)
返回: null:
当我尝试获得一组控制器时:
NSArray *viewControllers = self.navigationController.viewControllers;
Run Code Online (Sandbox Code Playgroud)
它只返回一个控制器,但它不是我的根视图控制器.
如果我尝试从导航控制器:
UIViewController *root = (UIViewController*)[self.navigationController.viewControllers objectAtIndex:0];
Run Code Online (Sandbox Code Playgroud)
返回: null:
有什么想法吗?还有什么我可以尝试获取我的根视图控制器的实例?
谢谢.
objective-c uiviewcontroller uinavigationcontroller ios5 swift
我在我的应用程序中创建登录.用户输入他的信息我将其发送到Web服务以检查并获取他的ID.现在我需要将它保存在我的应用程序中,我可以检查他是否登录.
那么这个信息应该保存在哪里?我知道每个应用都有它的设置所以应该有这个信息?也许有人可以给我更多信息这是怎么做的.
谢谢.
我发现这篇文章: 在Android应用程序中存储用户设置的最合适方法是什么
我相信我的问题是重复的.但如果你有更多的东西可以分享,那就太好了.
我需要为视图设置alpha.它是ImageButton和触摸事件我想设置我可以看到它被按下的alpha.也许有一些解决这个问题?它不适合我改变背景颜色.因为我的背景是图像,我不想改变这个图像的alpha.此外,我不想使用选择器,因为我的图像是动态创建的.
最后如果没有办法做到这一点.那么我怎么能抓住异常,因为Api手机不支持setAlpha?
谢谢
将int[]数组元素重新映射到的最佳方法是什么ArrayList?
我需要快速做到这一点,那么最快的方法是什么?
如何将a转换float为int舍入到下一个整数?例如,1.00001将转到2,而1.9999将转到2.
我想写这样的SQLite语句:
SELECT * FROM Table WHERE RowNumber BETWEEN 1 AND 10;
Run Code Online (Sandbox Code Playgroud)
但我没有这样的列RowNumber.我的桌子上有主键.但是我可以使用默认的行号吗?
此外,我正在搜索有关编写更复杂的SQLite语句的信息.因此,如果您在书签中有一些链接,请分享.
谢谢.
所以我使用Tabs并寻求这种导航:
tab1 - > inside 1 - > inside2
tab2 - >里面3 - >里面4
tab3 - >里面5
我的意思是它应该打开一个新的布局和类.
我的项目主要类是这样的:
public class TabsFragmentActivity extends SherlockFragmentActivity implements
TabHost.OnTabChangeListener {
private TabHost mTabHost;
private HashMap<String, TabInfo> mapTabInfo = new HashMap<String, TabInfo>();
private TabInfo mLastTab = null;
private static Context mContext;
private class TabInfo {
private String tag;
private Class clss;
private Bundle args;
private Fragment fragment;
TabInfo(String tag, Class clazz, Bundle args) {
this.tag = tag;
this.clss = clazz;
this.args = args;
} …Run Code Online (Sandbox Code Playgroud) 我正在努力使用https请求Web服务.我收到这样的错误:
An error occured : The certificate for this server is invalid. You might be connecting to a server that is pretending to be “SERVER_ADDRESS” which could put your confidential information at risk.
Run Code Online (Sandbox Code Playgroud)
我没有使用NSUrlConnectionDelegate.这是我的方法:
- (void)sendRequestWithUrl:(NSURL*)url block:(void (^)(NSDictionary *dict, NSError *error)) block{
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]];
NSError* err = nil;
NSHTTPURLResponse* rsp = nil;
// Perform the request synchronously on this thread
NSData *rspData = [NSURLConnection sendSynchronousRequest:request returningResponse:&rsp error:&err];
if (rspData && …Run Code Online (Sandbox Code Playgroud) 我正在搜索有关如何在android中创建加载动画的一些信息.是否有可能创建这个动画,我可以在一个线程中调用此动画,并在其他线程结束?
我寻求这个:

我在更改标签栏控制器时遇到一些困难.基本上我有UITabBarController与3个控制器.应用程序启动时的第一次 我改变了这样一个控制器:
NSMutableArray *muteArray = [[NSMutableArray alloc] init];
FirstPage *online;
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
online =[[FirstPage alloc] initWithNibName:nil bundle:nil];
}else{
online =[[FirstPage alloc] initWithNibName:nil bundle:nil];
}
//adding all controllers of tab bar to array
[muteArray addObjectsFromArray:_navigationCotroller.viewControllers];
online.tabBarControllers = [muteArray copy];
//replacing object of login controller to after login controller
[muteArray replaceObjectAtIndex:1 withObject:online];
[online release];
//setting new controllers to tab bar
[_navigationCotroller setViewControllers:muteArray animated:YES];
[muteArray release];
Run Code Online (Sandbox Code Playgroud)
然后在FirstPage控制器中我做了一些更改,然后按确定.现在我需要再次更改控制器,这样做:
NSLog(@"Before change Tab Bar cotrollers = %@",self.tabBarController.viewControllers);
[self.tabBarController setViewControllers:_tabBarControllers animated:YES];
NSLog(@"After change Tab …Run Code Online (Sandbox Code Playgroud)