- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我为带有一些 subview 的 Iphone 5 (8.1) 制作了一个没有 Storyboard的代码。它适用于 Iphone 5 设备,但不适用于其他设备……我尝试插入自动调整大小功能,但我不知道为什么它仍然不起作用。
这是我的代码:
#import "MenuViewController.h"
#import "RevealViewController.h"
@interface MenuViewController ()
@property UIView *blurMask;
@property UIImageView *blurredBgImage;
@end
@implementation MenuViewController
@synthesize blurMask, blurredBgImage;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle*)nibBundleOrNil{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad{
_barButton.target = self.revealViewController;
_barButton.action = @selector(revealToggle:);
[self.view addGestureRecognizer:self.revealViewController.panGestureRecognizer];
[super viewDidLoad];
[self Blur:blurredBgImage];
}
- (void)loadView{
[super loadView];
self.view = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.view.backgroundColor = [UIColor whiteColor];
[[self view] setAutoresizingMask:(UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight)];
[[self view] setAutoresizesSubviews:YES];
// content view
[self.view addSubview:[self createContentView]];
// slide view
[self.view addSubview:[self createScrollView]];
blurMask = [[UIView alloc] initWithFrame:CGRectMake(0, self.view.frame.size.height - 50, self.view.frame.size.width, 50)];
blurMask.backgroundColor = [UIColor whiteColor];
blurredBgImage.layer.mask = blurMask.layer;
}
-(void)scrollViewDidScroll:(UIScrollView *)scrollView{
blurMask.frame = CGRectMake(blurMask.frame.origin.x,
self.view.frame.size.height - 0 - scrollView.contentOffset.y,
blurMask.frame.size.width,
blurMask.frame.size.height + scrollView.contentOffset.y);
}
- (UIView *)createContentView
{
UIView *contentView = [[UIView alloc] initWithFrame:self.view.frame];
[contentView setAutoresizingMask:(UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight)];
[contentView setAutoresizesSubviews:YES];
UIImageView *contentImage = [[UIImageView alloc] initWithFrame:contentView.frame];
contentImage.image = [UIImage imageNamed:@"back-ground.png"];
[contentView addSubview:contentImage];
return contentView;
}
- (UIView *)createScrollView{
UIView *containerView = [[UIView alloc] initWithFrame:self.view.frame];
[containerView setAutoresizingMask:(UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight)];
[containerView setAutoresizesSubviews:YES];
blurredBgImage = [[UIImageView alloc] initWithFrame:CGRectMake(0, -57, self.view.frame.size.width, 568)];
[blurredBgImage setContentMode:UIViewContentModeScaleToFill];
[containerView addSubview:blurredBgImage];
UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:self.view.frame];
[containerView addSubview:scrollView];
scrollView.contentSize = CGSizeMake(self.view.frame.size.width, self.view.frame.size.height*2 - 110);
scrollView.pagingEnabled = YES;
scrollView.delegate = self;
scrollView.bounces = NO;
scrollView.showsHorizontalScrollIndicator = NO;
scrollView.showsVerticalScrollIndicator = NO;
UIView *slideContentView = [[UIView alloc] initWithFrame:CGRectMake(0, 455, self.view.frame.size.width, 508)];
slideContentView.backgroundColor = [UIColor clearColor];
[scrollView addSubview:slideContentView];
UILabel *slideUpLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 6, self.view.frame.size.width, 50)];
slideUpLabel.text = @"Informations";
[slideUpLabel setFont:[UIFont fontWithName:@"HelveticaNeue-Light" size:18]];
[slideUpLabel setTextAlignment:NSTextAlignmentCenter];
[slideUpLabel setContentMode:UIViewContentModeScaleToFill];
slideUpLabel.textColor = [UIColor colorWithWhite:1 alpha:0.5];
[slideContentView addSubview:slideUpLabel];
UIImageView *slideUpImage = [[UIImageView alloc] initWithFrame:CGRectMake(self.view.frame.size.width/2 - 12, 4, 24, 22.5)];
slideUpImage.image = [UIImage imageNamed:@"up-arrow.png"];
[slideContentView addSubview:slideUpImage];
UITextView *detailsText = [[UITextView alloc] initWithFrame:CGRectMake(20, 60, 275, 350)];
detailsText.backgroundColor = [UIColor clearColor];
detailsText.text = @"Details text… with information ";
[detailsText setFont:[UIFont fontWithName:@"HelveticaNeue-Light" size:16]];
[detailsText setTextAlignment:NSTextAlignmentCenter];
detailsText.textColor = [UIColor colorWithWhite:1 alpha:0.6];
[slideContentView addSubview:detailsText];
UIImageView *Facebook = [[UIImageView alloc] initWithFrame:CGRectMake(105, 260, 42, 42)];
Facebook.image = [UIImage imageNamed:@"facebook.png"];
[slideContentView addSubview:Facebook];
UIImageView *Twitter = [[UIImageView alloc] initWithFrame:CGRectMake(168, 260, 42, 42)];
Twitter.image = [UIImage imageNamed:@"twitter.png"];
[slideContentView addSubview:Twitter];
UITextView *rsText = [[UITextView alloc] initWithFrame:CGRectMake(20, 300, 275, 350)];
rsText.backgroundColor = [UIColor clearColor];
rsText.text = @"Text Facebook text Twitter. mail ";
[rsText setFont:[UIFont fontWithName:@"HelveticaNeue-Light" size:16]];
[rsText setTextAlignment:NSTextAlignmentCenter];
rsText.textColor = [UIColor colorWithWhite:1 alpha:0.6];
[slideContentView addSubview:rsText];
UITextView *endText = [[UITextView alloc] initWithFrame:CGRectMake(25, 450, 270, 350)];
endText.backgroundColor = [UIColor clearColor];
endText.text = @"Thank you ";
[endText setFont:[UIFont fontWithName:@"HelveticaNeue-Light" size:12]];
[endText setTextAlignment:NSTextAlignmentCenter];
endText.textColor = [UIColor colorWithWhite:1 alpha:0.6];
[slideContentView addSubview:endText];
return containerView;
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (void)Blur:(UIView *)view {
UIView *blurView=nil;
if ([UIBlurEffect class]) {
UIBlurEffect *blurEffect= [UIBlurEffect effectWithStyle:UIBlurEffectStyleDark];
blurView = [[UIVisualEffectView alloc] initWithEffect:blurEffect];
blurView.frame = view.frame;
}else {
blurView = [[UIToolbar alloc] initWithFrame:view.bounds];
}
[blurView setTranslatesAutoresizingMaskIntoConstraints:NO];
[view addSubview:blurView];
[view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[blurView]|" options:0 metrics:0 views:NSDictionaryOfVariableBindings(blurView)]];
[view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[blurView]|" options:0 metrics:0 views:NSDictionaryOfVariableBindings(blurView)]];
}
@end
有什么想法吗?反馈?谢谢。
最佳答案
以下内容更多地属于反馈:
@property
调用没有指定原子性或 ARC 应该如何对待它们,所以这可能有点释义。 initWithNib:
addTarget:action:forControlEvents:
@synthesize
是不需要的,除非您要编写自定义 setter [MenuViewController Blur]
)loadView
文档:
Your custom implementation of this method should not call super.
view
属性以具有 [UIScreen mainScreen].bounds
框架,则无需设置其自动调整行为——它已经与屏幕尺寸相匹配了。这适用于您这样做的所有观点。self.view.frame.size.height - 0 -scrollView.contentOffset.y
createScrollView
方法中发生了相当多的事情...如果您的代码中没有注释或某种图像显示每个 subview 的位置,则很难理解。正在设置的 View 层次结构似乎过于复杂,最好在自定义子类 UIView
或 UIScrollView
中完成。我会这样想:如果你一个月不看这段代码,你能轻松地说出这个 View 会是什么样子吗? UIKit
元素设置到框架中的特定位置,而不是使用自动布局或自动调整大小掩码(尽管使用自动布局,这是 future ,苹果有倾向于停止支持旧技术)关于ios - 如何以编程方式使用 autoresizing IOS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28653245/
这是 jquery 的片段: $(document).ready(function() { $('textarea').autoResize(); $('#submitSurvey').click
我使用带有 jbimages 插件的 TinyMCE 上传图片。我还激活了 autoresize 插件,这样当添加/删除内容时,编辑器会自动扩展和收缩。 这一切都很好,除非我上传的图像大于编辑器视口(
我为带有一些 subview 的 Iphone 5 (8.1) 制作了一个没有 Storyboard的代码。它适用于 Iphone 5 设备,但不适用于其他设备……我尝试插入自动调整大小功能,但我不知
目前,这是正在发生的事情。如果我处于纵向模式,并且我呈现一个新的 modalViewController,然后旋转到横向,autoResizing 工作完美,一切看起来都很棒。但是,如果我在风景中,并
我有一个 UIScrollView,它是我的 View Controller 上的一个 subview ,在这个 ScrollView 中,我在顶部(蓝色方 block )有一个 UIView,在底部
目前我正在使用表格以相同大小的 block 显示 4 个摄像头:左上角/右上角/左下角/右下角。我想切换到 div,有可能事情会更自动化一些。 这是我的:
我有一排 div。左侧的所有 div 都调整大小以适合其内容。我也希望左侧的 div 调整大小以适合其内容,但我希望它从属于右侧的 div。因此,如果右侧的 div 变得非常大,左侧的 div 将切断
我的 textarea autoresize 有问题,这是正确的,但 textarea 内容有问题。我有 CSS 代码: textarea { width:400px;
我有一个 UILabel,它会随父 View 自动调整大小。标签已打开 AdjustsFontSizeToWidth 并且最小文本大小为 0 - 所以基本上它会尝试将所有文本放入 UILabel
接下来是我的 Javascript 文档,它在 $(document).ready() 中运行。 Javascript 是从我网站的页脚加载的。为了简化起见,我用 [...] 代替不相关的代码。 //
我在使用 gmap 组件时遇到了一个小问题:当我尝试使组件可调整大小(即在 CSS 的帮助下将 map 的高度和宽度都设置为 100%)时,组件会收缩并且 map 本身变得不可见。但是,如果设置了固定
首先,对于非正式的标题,我感到抱歉。我想表达我对这个问题的真实感受。我一直在清理我网站上的一些东西,http://www.gfcf14greendream.com/ ,并通过另一个问题将我定向到该站点
我有一个扩展的文本区域。当文本区域已经扩展到足以到达窗口底部时,主体会闪烁/滚动回文本区域的顶部,除非滚动窗口,否则您将看不到最后输入的字符。 样本可以在这个 jsfiddle 中找到.我尝试在正文中
我在使用带有此行的 Xcode 调试控制台时得到了这个: po [[UIWindow keyWindow] recursiveDescription] 然后我得到像这样的递归描述的行 > “autor
这个 python 程序在 wxpython 窗口中绘制一个图形。 如何更改程序以便: 当我调整窗口大小时,图形也会调整大小 主窗口的大小无法调整为小于特定尺寸? (例如,窗口默认大小的一半) . #
我想要一个简单的 UITextView,它会自动调整大小以适应其内容。 使用 AutoLayout 这非常简单:我将 UITextView 添加到我的 View 中,设置两个约束以将 UITextVi
我遇到了几天的问题,我真的无法解释为什么会这样。 我正在做一个聊天,设置了一个tableView,将消息打印到单元格中。这些电池是用原型(prototype)设计的,有 3 种不同的类型(但不管怎样)
您好有人可以帮助我了解如何在 iOS 6.0 中编辑时自动布局表格单元格的组件吗?我已将 AutoLayout FALSE 设置为 UITableViewCell Autosizing 选项设置为属性
后续问题 to my other one ; 如何启用按比例调整大小?我认为这行得通,但行不通: import javax.swing.JButton; import javax.swing.JFra
在 WWDC 2012 视频之一“Auto Layout By Example”中,他们演示了一个使用 Autolayout 的 OS X 应用程序,在大约 7 或 8 分钟的时间里,他展示了如何在单
我是一名优秀的程序员,十分优秀!