小编Dav*_*vid的帖子

UIScreen MainScreen Bounds返回错误的大小

因此,我使用最新版本的XCode创建了一个新项目,并尝试记录我的应用程序的屏幕大小(以确定UI的设备类型).我从iPhone 5运行了以下代码:

NSLog(@"%f", [[UIScreen mainScreen] bounds].size.height);
Run Code Online (Sandbox Code Playgroud)

这返回了480,这是旧iPhone系列的屏幕尺寸.我在模拟器中试过,发生了同样的事情.我必须在项目中启用一些属性来识别屏幕大小吗?

这仅适用于5个以上的设备; 如果我在iPad上运行游戏,它会识别1024屏幕尺寸.

我知道这个代码在过去有效.我使用完全相同的方法做了一段时间的游戏,它没有检测屏幕大小的问题,但这是在XCode 4.x中构建的.

附加信息:

我正在使用自定义视图控制器,我在App Delegate中创建了以下代码:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {

    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    if([Global getDevice] == 1)
    {
        //iPhone 5+
        self.window.rootViewController = [[FivePlus alloc] initWithNibName:nil bundle:nil];

    }
    else if([Global getDevice] == 2)
    {
        //iPhone 4S-
        self.window.rootViewController = [[FourSMinus alloc] initWithNibName:nil bundle:nil];
    }
    else
    {
        //iPad
        self.window.rootViewController = [[iPad alloc] initWithNibName:nil bundle:nil];
    }

    [[self window] makeKeyAndVisible];

    // Override point for customization after application launch.
    return …
Run Code Online (Sandbox Code Playgroud)

iphone objective-c frame ios uiscreen

40
推荐指数
1
解决办法
3万
查看次数

嵌套的calc操作

希望这很简单.我想使用CSS calc操作来执行两个计算:

我想将我的宽度设置为相当于

(100% / 7) - 2
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试在CSS计算操作中执行多个操作,则会失败:

width: calc((100% / 7) - 2);
Run Code Online (Sandbox Code Playgroud)

如何在一个CSS语句中执行多个calc操作?

css expression css3 css-calc

18
推荐指数
2
解决办法
9527
查看次数

为什么未定义小于1?

因此,在大多数情况下,我已经能够使用类似于这些行的东西,但是Javascript给了我这个奇怪的结果.

如果我取一些值并且结果是未定义的,则与整数相比,它看起来不会小于或大于任何数字.为什么是这样?

if(undefined < 1 || undefined >= 1)
    alert("yes");
else
    alert("no");

//this always alerts no
Run Code Online (Sandbox Code Playgroud)

的jsfiddle

javascript undefined

14
推荐指数
1
解决办法
4651
查看次数

在UIView中获取不是superview的视图框架

我认为这是一个简单的问题,但我似乎找不到办法做到这一点.

我有一个视图,是我的uiviewcontroller的子视图.在那个视图中,我有另一种观点.为了澄清,这是架构:

>UIViewController.view
--->Subview A
------->Subview B
Run Code Online (Sandbox Code Playgroud)

我想得到subview b内部的框架uiviewcontroller.view.

这可能吗?subviewB.frame给了我内部视图的框架Subview A.

objective-c frame uiview ios

12
推荐指数
1
解决办法
7832
查看次数

jQuery .parent()选择多个级别

我有这样的层次结构:

<search>
    <inner>
        <input/>
        <p/>
        <img/>
    </inner>
</search>
Run Code Online (Sandbox Code Playgroud)

我所试图做的是选择父<search>的的<input/>聚焦状态,但如果我这样做:

$(function(){
    $("input").focus(function(){
        console.log($(this).parent("search"));
    });
});
Run Code Online (Sandbox Code Playgroud)

控制台显示一个空数组.是否有一种干净的方式来选择多个级别的父级?我知道这样做的唯一方法就是.parent().parent("search"),哪个会起作用,但不是很干净,如果我试图选择父母5层,那将是非常残暴的.

jquery parent

12
推荐指数
1
解决办法
9861
查看次数

CSS两个最小高度值,以较大者为准

我有一个窗口,我想填满整个屏幕,以便页脚始终离开屏幕.我用最小高度完成了这个:

#cnt
{
    min-height: calc(100% - 62px);
}
Run Code Online (Sandbox Code Playgroud)

但是,在某些情况下,对于我创建的侧边栏来说,这可能太小了.侧边栏的最小高度为404px.如何使用这两者以便它使用更大的值?这可以用严格的CSS完成还是我需要JS?

这不起作用:

#cnt
{
    min-height: calc(100% - 62px);
    min-height: 404px;
}
Run Code Online (Sandbox Code Playgroud)

它最终总是使用404px值.

编辑:

这是我的JS/jQuery解决方案.我发现的一个问题是我的浏览器$(window).height()返回的值比它应该的值大400像素.此外,在调整大小时,它会在一个值(+ 377px)和另一个值(+ 787px)之间来回跳转,其中+表示它比实际值大得多.为了解决这个问题,我使用了<cnt>元素本身的高度,但这有相同的跳跃来回大小问题.

$(window).resize(function(){

    if($("cnt").outerHeight() < 404)
    {
        $("cnt").css("min-height", "404px");
    }
    else
    {
        $("cnt").css("min-height", "calc(100% - 62px)");
    }

}).load(function(){

    if($("cnt").height() < 404)
    {
        $("cnt").css("min-height", "404px");
    }
    else
    {
        $("cnt").css("min-height", "calc(100% - 62px)");
    }

});
Run Code Online (Sandbox Code Playgroud)

的jsfiddle

javascript css height

12
推荐指数
2
解决办法
4434
查看次数

PHP浮点模数不起作用

我写了一个函数,如果有必要,可以在一个数字中添加逗号和零,但是我已经陷入了模数函数.根据我的PHP:

float(877.5) % 1 == 0 //true
Run Code Online (Sandbox Code Playgroud)

不应该877.5 % 1 == 0.5

php floating-point modulus

12
推荐指数
1
解决办法
3558
查看次数

如果是,否则如果在PHP中,冒号样式

我喜欢使用PHP的一个函数是冒号样式的if语句(我不知道它实际上是什么叫.)

<?php if(something):?>
    <html stuff>
<?php endif;?>
Run Code Online (Sandbox Code Playgroud)

但我最近尝试用多种情况做到这一点:

<?php if(something):?>
    <html stuff>
<?php else if(something):?>
    <html stuff>
<?php endif;?>
Run Code Online (Sandbox Code Playgroud)

我在第三行(else if)上得到一个错误:

意外的T_IF

如果这样,是否可以制作if-else?

php

12
推荐指数
1
解决办法
4741
查看次数

Objective-C检查旋转的UIViews的子视图是否相交?

我不知道从哪里开始.显然CGRectIntersectsRect在这种情况下不起作用,你会明白为什么.

我有一个UIView的子类,里面有一个UIImageView,放在UIView的确切中心:

旋转前的UIView

然后我旋转自定义UIView以维持内部UIImageView的框架,同时仍然能够执行CGAffineRotation.结果框架看起来像这样:

旋转后的UIView

我需要阻止用户使这些UIImageViews相交,但我不知道如何检查两个UIImageViews之间的交集,因为它们的框架不仅不适用于父UIView,而且它们在不影响其框架的情况下旋转.

我尝试的唯一结果是不成功的.

有任何想法吗?

intersection objective-c frame ios separating-axis-theorem

10
推荐指数
1
解决办法
1522
查看次数

子类化NSMutableAttributedString在init上返回SIGABRT

我创建NSMutableAttributedString的子类,在我的项目做一个字符串,不断改变每个字符在初始化数组给出的一种颜色之一,但是当我尝试调用init方法,我得到sigabrtinitWithString:方法.

RainbowString.h

#import <Foundation/Foundation.h>

@interface RainbowString : NSMutableAttributedString

@property (nonatomic) NSArray* colors;
@property (nonatomic) NSTimeInterval duration;
@property (nonatomic) NSTimer* timer;

- (id)initStringWithColors:(NSArray*)colors withString:(NSString*)string;
- (id)initStringWithColors:(NSArray*)colors withCycleDuration:(NSTimeInterval)duration withString:(NSString*)string;

- (void)stop;
- (void)start:(NSTimeInterval)duration;

@end 
Run Code Online (Sandbox Code Playgroud)

initWithColors:

- (id)initStringWithColors:(NSArray *)colors withString:(NSString *)string
{
    self = [super initWithString:string];
    if(self)
    {
        [self setColors:colors];
        [self cycle];
    }

    return self;
}
Run Code Online (Sandbox Code Playgroud)

即使我只是打电话[[RainbowString alloc] initWithString:@"Hello"];,我也会得到同样的错误:

*由于未捕获的异常'NSInvalidArgumentException'终止应用程序,原因:' - [RainbowString initWithString:]:无法识别的选择器发送到实例0x166778c0'

更新

好吧,只是为了测试这个,我创建了一个NSMutableAttributedString的测试子类,绝对没有内容.我刚刚创建了子类并保持原样.

Test.h

#import <Foundation/Foundation.h>

@interface Test : NSMutableAttributedString

@end
Run Code Online (Sandbox Code Playgroud)

我跑了:

[[NSMutableAttributedString alloc] …
Run Code Online (Sandbox Code Playgroud)

objective-c nsattributedstring ios

7
推荐指数
1
解决办法
974
查看次数