小编Ano*_*ite的帖子

如何通过仅改变高度而不是宽度来改变UFabel的大小?

[self.Review sizeToFit];
Run Code Online (Sandbox Code Playgroud)

sizeToFit之前的结果:

NSStringFromCGRect(self.Review.frame): {{90, 20}, {198, 63}}
Run Code Online (Sandbox Code Playgroud)

sizeToFit后的结果:

NSStringFromCGRect(self.Review.frame): {{90, 20}, {181, 45}}
Run Code Online (Sandbox Code Playgroud)

我希望宽度保持不变.我只是想改变身高.自动掩码是

(lldb) po self.Review
(UILabel *) $1 = 0x08bb0fe0 <UILabel: 0x8bb0fe0; frame = (90 20; 181 45); text = 'I'm at Mal Taman Anggrek ...'; clipsToBounds = YES; opaque = NO; autoresize = LM+RM+H; userInteractionEnabled = NO; layer = <CALayer: 0x8bb68b0>>
Run Code Online (Sandbox Code Playgroud)

我知道有一种方法可以这样做: 如何调整和使UILabel的宽度适合文本大小?

答案要么很奇怪(我们需要重新补给字体信息).或者不清楚.

您还需要定义最大宽度,并告诉程序如果sizeToFit为您提供的宽度大于该最大值,该如何操作.

我将使用奇怪的使用解决方案sizeWithFont.这很奇怪,因为UILabel已经知道标签中的字体了.

实际上sizeToFit究竟是如何表现的呢?它如何决定我们是否需要更薄或更高的UILabel?

objective-c uilabel xcode4.5

35
推荐指数
4
解决办法
4万
查看次数

为什么Apple在CoreData中使用NSOrderedSet而不是NSArray来实现有序的mutli值关系?

在核心数据中,如果我们有多值关系,例如当一个企业可以拥有多个关键字时,在子类NSManagedObject生成器中,Apple将使用NSOrderedSet而不是NSArray.

它们几乎相同,只是在NSOrderedSet中检查所有权略快.

苹果公司没有使用更为熟悉和着名的NSArray的任何理由?

xcode core-data objective-c

22
推荐指数
2
解决办法
7070
查看次数

如何测试我的PHP上是否安装了SimpleXML?

谁知道呢?那个东西是默认安装的.但有没有一种简单的方法可以检查是否安装了扩展程序?

我检查simplexml_load_string是否可用,但是如何在php.ini上没有列出simplexml

php mysql vb.net

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

System.IO.File.ReadAllText的默认编码是什么

如果我们不提及解码将使用什么解码?

我认为不是System.Text.Encoding.Default.如果我明白地把事情做好,那么System.Text.Encoding.Default事情就会好起来.

所以这不行

Dim b = System.IO.File.ReadAllText("test.txt")
System.IO.File.WriteAllText("test4.txt", b)
Run Code Online (Sandbox Code Playgroud)

但这很好用

Dim b = System.IO.File.ReadAllText("test.txt", System.Text.Encoding.Default)
System.IO.File.WriteAllText("test4.txt", b, System.Text.Encoding.Default)
Run Code Online (Sandbox Code Playgroud)

如果我们不指定编码,vb.net会尝试从文本文件中找出编码吗?

还有什么System.Text.Encoding.Default

这是系统默认值.什么是我的系统默认值,如何更改?

我如何知道文本文件中使用的编码?

如果我创建一个新的文本文件并用scite打开它,我会看到编码是代码页属性.什么是代码页属性?

vb.net windows encoding scite

7
推荐指数
0
解决办法
9519
查看次数

readonly属性总是"原子的"吗?

有时我们有一个简单的readOnly属性,其值可能会发生变化

@property (readonly) NSFetchedResultsController * FetchController;
@property (readonly) NSFetchRequest * FetchRequest;
@property (readonly) NSPredicate * KeywordPredicate;
Run Code Online (Sandbox Code Playgroud)

我想当值改变时,它会通过某种简单的指针操作眨眼间完成.就像是

_FetchRequest = newFetchRequest;
Run Code Online (Sandbox Code Playgroud)

改变的实际过程可能会发生很大变化,但实际变化应该在那一行上.

问题是,这样简单的指针赋值总是原子的吗?如果那一行实际上由几行机器代码组成并且有人要求这些机器代码之间的属性怎么办?

最后,问题是指针上的简单赋值运算符是否总是原子的.

如果是这样,当它是原子的,什么不是?当然,简单赋值运算符对于复杂对象不是原子的.

那么简单的一行赋值运算符到底是什么原子?对于指针和原始类型,它会永远是吗?

xcode objective-c thread-safety

6
推荐指数
2
解决办法
1307
查看次数

联合参考如何实施?

我在这里看到了一个非常好的示例: 子类UIButton来添加属性

它是什么?您无法将对象添加到类别.但现在有了这个技巧你可以.

那是什么?它是如何工作的?

Objective-c对象已经有一些常数的ivar指针了吗?

现在你再添加一个?他们是怎么想出来的?

我必须承认,这是一个非常丑陋的符号.

associative objective-c

6
推荐指数
1
解决办法
2139
查看次数

哪一个更容易使用?GCD还是NSOperation?

我目前正在使用GCD.但是,我听说这NSOperation实际上是一个更高级别的计划.但它要复杂得多.

在GCD中,在后台做一些事情就是使用我创建的辅助函数:

+(void)doForeGround:(void (^)())block
{
    dispatch_async(dispatch_get_main_queue(), ^{
        block();
    });
}

+(void)doBackground:(void (^)())block
{

    //DISPATCH_QUEUE_PRIORITY_HIGH
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW,0), ^{
    //dispatch_async(dispatch_get_global_queue(-2,0), ^{
        block();
    });
}

-(void)doBackGround:(void (^)())block onComletion:(void (^)())onCompletion
{
    [BGHPTools doBackground:^{
        block();
        [BGHPTools doForeGround:^{
            onCompletion();
        }];
    }];
}
Run Code Online (Sandbox Code Playgroud)

这样做NSOperation会更简单吗?

我错过了什么吗?我如何在NSoperation做同样的事情?

objective-c nsoperation grand-central-dispatch xcode4.5

5
推荐指数
1
解决办法
1219
查看次数

创建一个接受块作为参数的块

void (^block)();
void (^block1)(int);
Run Code Online (Sandbox Code Playgroud)

第一行声明一个块.

第二行声明一个带整数参数的块.

现在我想要一个接受另一个块作为参数的块:

void (^block2)(<another block>);
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

syntax objective-c objective-c-blocks

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

如何处理点击过快的用户

我有一个简单的viewController.View控制器使用动画.如果我正在显示列表,它将动画显示.那时它也会改变指向地图的按钮而不是指向列表.

因此,通过持续按下相同的按钮(实际上它是2个不同的按钮,但用户将其视为相同的按钮),用户可以保持从一个地图到另一个列表的切换,反之亦然.

工作良好.随着一些捕获.

如果用户点击太快怎么办?让我们说,鉴于我希望确实使用我的应用程序,罐装或惩罚它们不是一种选择.

这是目前的计划:

-(void) transitiontoViewController:(UIViewController *)toViewController duration:(NSTimeInterval)duration options:(UIViewAnimationOptions)options animations:(void (^)(void))animations completion:(void (^)(BOOL))completion1
{


    [self enableButtonWithBool:false];
    UIViewController * fromController = self.last2ViewsInTheContainer.lastObject;
    if (fromController.view.superview!= self.ContainerView)
    {
        return;
    }
    [self transitionFromViewController:fromController toViewController:toViewController duration:duration options:options animations:animations completion:^(BOOL finished) {
        if (completion1 == Nil) //can't execute nil block. can be more elegantly done with [completion1 invoke] if there is such function. Anyway, do nothing if completion1 is nil
        {

        }
        else
        {
            completion1 (finished);
        }
        [self.last2ViewsInTheContainer addObject:toViewController];

        if (self.last2ViewsInTheContainer.count>2)
        {
            [self.last2ViewsInTheContainer removeObjectAtIndex:0];
        } …
Run Code Online (Sandbox Code Playgroud)

objective-c uiview uiviewanimationtransition xcode4

2
推荐指数
1
解决办法
1019
查看次数

在VB.net中我们如何编码SQL的字符串

例如,在sql中

所有`应该用'`替换?

那么,vb.net内置的函数是否已经完成了那样的事情?

这样我就不用编码了.

顺便说一下,我不直接访问sql数据库.基本上我正在创建一个文本文件,该文本文件包含原始sql语句.大多数答案都涉及直接访问sql数据.

mysql sql vb.net escaping

1
推荐指数
2
解决办法
6130
查看次数