

我已经关闭了Autolayout,并且viewcontroller嵌入在导航控制器中.我正在使用Xcode 5,Storyboard.
我不明白为什么它会从顶部留下空间.实际上在故事板中我把我的标签正好放在导航栏下方.但是当我在模拟器上运行它然后它从顶部离开空间.
解决这个问题的一种黑客方法
-(void)viewWillLayoutSubviews
{
self.scrollViewMain.frame = CGRectMake(0, -70, 320, 800);
self.scrollViewMain.contentSize = CGSizeMake(320, 800);
}
Run Code Online (Sandbox Code Playgroud)
但我错过了一些非常简单的方法.
if([segue.identifier isEqualToString:@"Edit"]){
AddCoffeeViewController *avc = [segue destinationViewController];
Coffee *coffeeObj = [appDelegate.coffeeArray objectAtIndex:arow];
NSLog(@"ViewController.m prepareForSegue: arow: %d coffeeName:%@ price:%@ coffeeID:%d",arow,coffeeObj.coffeeName,coffeeObj.price,coffeeObj.coffeeID);
[coffeeObj setIsInEditMode:YES];
avc.EditCoffeeObj = coffeeObj;
}
Run Code Online (Sandbox Code Playgroud)
当我按下配件按钮时,我没有得到正确的行.
虽然在下面的方法我得到正确的行.如果我不想使用任何ivar,我有什么方法可以为segue准备正确的行.
-(void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath{
arow = indexPath.row;
}
Run Code Online (Sandbox Code Playgroud)

tableViewCell附件按钮:执行模态segue(编辑)
+按钮(导航栏按钮项目):执行模态segue(添加)
可能重复:
如何使用代码获取屏幕大小?
NSLog(@"Top Left View : Width %f height%f",self.topLeftView.frame.size.width,self.topLeftView.frame.size.height);
Run Code Online (Sandbox Code Playgroud)
我从对象库中拖出了"View"并将其放在xib文件中.
但是,如果我想获得屏幕尺寸来检查它的iphone 4,iPhone 3或iphone 5或任何iOS设备.
这样我就可以相应地安排其他观点.
我仍在使用ASIHTTPRequest,我期待前页移动到AFNetworking我也经历了Raywenderlich速成班 但它不是使用AFNetworking 2.0
我刚试过AFNetworking提到的下面的样本, 但它的工作原理并没怎样.
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
//manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];
NSDictionary *parameters = @{@"UserId": @"24",@"ArticleId":@"0"};
NSLog(@"%@",parameters);
[manager POST:@"http://mysite.com/api/User/showArticleList" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject)
{
NSLog(@"JSON: %@", responseObject);
}failure:^(AFHTTPRequestOperation *operation, NSError *error)
{
NSLog(@"Error: %@", error);
}];
Run Code Online (Sandbox Code Playgroud)
调试区域显示:
误差区域= NSCocoaErrorDomain代码= 3840
"该操作不能完成.(可可错误3840)"(JSON文本不与阵列或对象和选项,允许片段未设置启动.)的UserInfo = 0xa0ba580 {NSDebugDescription = JSON文本没有从数组或对象和选项开始,以允许未设置片段.}
但是,当我使用链接提到Raywenderlich速成课程
[manager POST:@"http://www.raywenderlich.com/downloads/weather_sample/weather.php?format=json" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject)
{
NSLog(@"JSON: %@", responseObject);
}failure:^(AFHTTPRequestOperation *operation, NSError *error)
{
NSLog(@"Error: %@", error);
}];
Run Code Online (Sandbox Code Playgroud)
它给了我完美的JSON输出,为什么会这样呢?
我的应用需要支持iOS 5.
我有我的自定义UI,用户可以输入推文消息,当他按下发布按钮时,它应该发布消息twitter.
我已经编写了通过SLComposeViewController*tweetSheet实例发布的代码,但是在这种情况下,我不能直接按tweetSheet提供的发送按钮而不显示它
[self presentViewController:tweetSheet animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)
是否有可能绕过此演示文稿并设置短信并通过我的自定义ui发布到Twitter,其中有发布按钮?
if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter])
{
SLComposeViewController *tweetSheet = [SLComposeViewController
composeViewControllerForServiceType:SLServiceTypeTwitter];
tweetSheet.completionHandler = ^(SLComposeViewControllerResult result) {
switch(result) {
// This means the user cancelled without sending the Tweet
case SLComposeViewControllerResultCancelled:
NSLog(@"Tweet message was cancelled");
break;
// This means the user hit 'Send'
case SLComposeViewControllerResultDone:
NSLog(@"Done pressed successfully");
break;
}
// dismiss the Tweet Sheet
dispatch_async(dispatch_get_main_queue(), ^{
[self dismissViewControllerAnimated:NO completion:^{
NSLog(@"Tweet Sheet has been dismissed.");
}];
});
};
[tweetSheet setInitialText:self.textViewPostedText.text];
[self presentViewController:tweetSheet animated:YES completion:nil]; …Run Code Online (Sandbox Code Playgroud) 在StoryBoard中,我们可以在视觉上设置如下

我们怎么能用.Xib/nib文件做同样的事情?
[self presentViewController:self.infoController animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)
上面的代码只是使用模态样式,但如何将过渡样式设置为Partial Curl.
-(BOOL)shouldAutorotate {
return NO;
}
Run Code Online (Sandbox Code Playgroud)
上面的方法适用于一个控制器,但是当堆栈上有多个viewControllers时.
我想要一个应该只在纵向模式下显示的特定控制器.
- (void) viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator {
}
Run Code Online (Sandbox Code Playgroud)
我已经在iOS 8的堆栈溢出上使用了上面提到的方法,但它没有给出期望的结果.
ios ×6
objective-c ×5
iphone ×2
ios5 ×1
ios6 ×1
ios7 ×1
ios8 ×1
twitter ×1
uiscreen ×1
uiscrollview ×1