Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 目标-C UIScrollView无法水平工作_Iphone_Objective C_Xcode_Uiscrollview_Xib - Fatal编程技术网

Iphone 目标-C UIScrollView无法水平工作

Iphone 目标-C UIScrollView无法水平工作,iphone,objective-c,xcode,uiscrollview,xib,Iphone,Objective C,Xcode,Uiscrollview,Xib,我阅读了所有其他类似问题的回复,但我的项目仍然不起作用。 有什么帮助吗 这是我的项目 -------->viewController.h #import <UIKit/UIKit.h> @interface ViewController : UIViewController{ IBOutlet UIScrollView *scroll; IBOutlet UIImageView *imagev; } 一切看起来都很好,但scrollview无法滚动 编辑:正如他们在这里建议的,问题

我阅读了所有其他类似问题的回复,但我的项目仍然不起作用。 有什么帮助吗

这是我的项目

-------->viewController.h

#import <UIKit/UIKit.h>
@interface ViewController : UIViewController{
IBOutlet UIScrollView *scroll;
IBOutlet UIImageView *imagev;
}
一切看起来都很好,但scrollview无法滚动


编辑:正如他们在这里建议的,问题是自动布局。有了它,我修复了scrollview,我相信是自动布局造成了这个问题。试着把它关掉

在故事板或NIB中选择ViewController 单击Xcode窗口右侧的“文件检查器”选项卡 在“界面生成器文档”部分下,取消选中“使用自动布局”
我已经为您解决了一个问题,您可以继续使用autolayout

在ViewController.m中实现以下方法

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad
{
  [super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
imagev.image = [UIImage imageNamed:@"ka.jpg"];
[scroll setContentSize:CGSizeMake(700, 700)];
[scroll setScrollEnabled:TRUE];
[scroll setShowsVerticalScrollIndicator:YES];
[scroll setShowsHorizontalScrollIndicator:YES];
}

@end
- (void)viewDidLayoutSubviews
{
    [scroll setContentSize:CGSizeMake(700, 700)];
}
您可以删除[scroll setContentSize:cgsizemake700700];从-viewDidLoad方法

这将为您修复它,您可以继续使用自动布局。在iOS 6中,自动布局有点棘手。但在iOS 7中显然要好得多。

Objective-C 您可以在*.m文件的-voidviewDidLoad{}函数中使用以下代码行:

[scroll setContentSize:CGSizeMake(320, 800)];
[scroll setScrollEnabled:TRUE];
[scroll setShowsVerticalScrollIndicator:NO];
[scroll setShowsHorizontalScrollIndicator:YES];
为此,您需要通过以下方式将UIScrollView的IBOutlet属性放入*.h文件:

IBOutlet UIScrollView *scroll;
从故事板连接这个

或者

您可以在*.m文件中使用此方法:

-(void)viewDidLayoutSubviews { 
[scroll setContentSize:CGSizeMake(320, self.view.frame.size.height* 1.5)]; 
// this will pick height automatically from device's height and multiply it with 1.5
}
这两种解决方案在xcode-5、xcode-6、xcode-6.1和xcode-6.2中都适用

斯威夫特: 您可以将此swift代码用于类似类型的问题:

override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()
    scrollView.contentSize = CGSize(width:10, height:10)
}

您的UIScrollView是否垂直滚动?什么是scrollview框架?scrollview有多大?到底什么不起作用?回答你之前的问题,你被否决的可能原因是因为你说我的项目不起作用。并不是这些话引起了负面评论,而是事实上你什么也没说,只是把你的代码吐在我们身上。你需要确保记下你到底尝试了什么和什么不起作用,并对你的应用程序环境给出更详细的解释。你知道你的应用程序看起来像什么,但我们不知道。想想看,你正在和不了解你的项目的陌生人交谈。自动布局是苹果公司让支持多种屏幕尺寸/分辨率变得更容易的方式,如iPhone4、iPhone5等。。虽然它本应使事情变得更简单,但有时它会妨碍事情的进行,并导致意外事件的发生。如果屏幕最初是基于自动布局设计的,则删除自动布局会弄乱屏幕。这个问题是在2013年提出的,您现在正在回答吗?:|还有一个公认的…@上帝:我上周也面临同样的问题。这就是为什么我不仅添加了Obj-C,还添加了Swift fix。旧问题也可以回答。