小编Dvo*_*ole的帖子

如何使用图像和标签制作自定义UIBarButtonItem?

我想创建一个包含图像和文本的自定义UIBarButtonItem,如下所示:

在此输入图像描述

我尝试了子类化UIBarButtonItem并重写此方法:

- (UIView *)customView
{
    if (!self.storedView) {

        UIView *temp = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 120, 44)];
        UIImageView *tempImageView = [[UIImageView alloc] initWithImage:self.image];
        tempImageView.frame = CGRectMake(0, 0, self.image.size.width, self.image.size.height);
        UILabel *tempLabel = [[UILabel alloc] initWithFrame:CGRectMake(44, 0, 100, 44)];
        tempLabel.text = @"text";
        [temp addSubview:tempImageView];
        [temp addSubview:tempLabel];
        self.storedView = temp;
    }
    return self.storedView;
}
Run Code Online (Sandbox Code Playgroud)

我这样使用它:

UIBarButtonItem *left = [[LeftItem alloc] initWithTitle:@"Settings" style:UIBarButtonItemStylePlain target:self action:@selector(settingsPressed)];
left.title = @"Settings";
left.image = [UIImage imageNamed:@"settings.png"];
self.navigationItem.leftBarButtonItem = left;
Run Code Online (Sandbox Code Playgroud)

但使用这个我只得到图像,但不是标签.我究竟做错了什么?

objective-c ios ios7

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

使用GCD异步下载UITableView的图像

我正在使用GCD异步下载我的uitableview的图像,但是有一个问题 - 当滚动图像时闪烁并且一直在变化.我尝试将每个单元格的图像设置为nil,但它没有多大帮助.快速向上滚动时,所有图像都是错误的.我该怎么办?这是我的细胞方法:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

    if (self.loader.parsedData[indexPath.row] != nil)
    {
        cell.imageView.image = nil;
        dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0ul);
            dispatch_async(queue, ^(void) {

                NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:[self.loader.parsedData[indexPath.row] objectForKey:@"imageLR"]]];

                UIImage* image = [[UIImage alloc] initWithData:imageData];

                dispatch_async(dispatch_get_main_queue(), ^{
                    cell.imageView.image = image;
                    [cell setNeedsLayout];
                     });
            });

    cell.textLabel.text = [self.loader.parsedData[indexPath.row] objectForKey:@"id"];
    }
    return cell;
}
Run Code Online (Sandbox Code Playgroud)

objective-c ios ios6

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

Objective-c点符号或方括号表示法中首选的是什么?

我正在读一本书 - Big Nerd Ranch iOS编程.它说不建议使用点符号,因为它会混淆代码.我正在同时观看适用于iOS编程的斯坦福课程,并在其中广泛使用点符号.你会推荐什么?我个人更倾向于括号表示法.

您能解释一下如何将此代码转换为括号表示法吗?

self.display.text = [self.display.text stringByAppendingString:digit];
Run Code Online (Sandbox Code Playgroud)

据我所知,它应该是:

[[self display] setText]:[[[self display] text] stringByAppendingString:digit];
Run Code Online (Sandbox Code Playgroud)

这是对的吗?

objective-c notation

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

IBOutletCollection是否保证是正确的顺序?

关于使用NSArray的IBOutletCollection,我有两个相互矛盾的来源.首先说,您从接口到出口集合链接的顺序是重要的,并且它在出口集合中始终是相同的.例如,如果我们首先将第一个文本字段链接到集合,则元素编号0将是该字段等.

但另一个消息来源告诉我,这是错误的,实际上Outlet集合是随机的,并且绝对不能保证事情的顺序.因此,元素数字零可以是任何文本字段,而不仅仅是接口中的第一个连接.

"iOS 6编程 - 探索iOS SDK"是第一个来源,iTunes上的斯坦福课程是第二个来源.谁是对的?

ios ios6

27
推荐指数
3
解决办法
5846
查看次数

在Sprite Kit中创建按钮的正确方法?

我正在制作游戏,我想要一个按钮.我如何处理它?我为UI使用单独的类,它是包含所有按钮和界面元素的SKSpriteNode,我不希望Scene在触摸开始方法中为我处理那些按钮按下.

据我所知,我们可以检查触摸开始触摸的节点,所以要实现内置触摸的常规按钮,我需要在touchesBegan和touchesEnded中编写代码,这看起来有点矫枉过正.

或者我应该使用常规UIButton?但我知道你不能动态添加它们,只能在didMoveToView方法中添加,这看起来很糟糕.

objective-c ios sprite-kit

15
推荐指数
2
解决办法
9996
查看次数

如何让我的调试应用程序版本在iOS上接收生产推送通知?

我的服务器只运行一个发送推送通知的版本,它有我的生产(发布)推送证书.

如何使用相同的生产证书在我的调试设备上测试通知并调试版本?

我的设备正在发送令牌,但是当我尝试发送真实的推送通知时,Apple服务器返回状态8错误,这意味着设备令牌不正确.

push-notification apple-push-notifications ios ios7 xcode5

15
推荐指数
3
解决办法
9253
查看次数

C中的内存寻址和指针

这取自C,并基于此.我们假设我们有一个32位指针

char* charPointer;
Run Code Online (Sandbox Code Playgroud)

它指向内存中包含一些数据的某个位置.它知道这个指针的增量是1个字节,等等.另一方面,

int* intPointer;
Run Code Online (Sandbox Code Playgroud)

也指向内存中的某个位置,如果我们增加它,它知道如果我们加1则它应该增加4个字节.

问题是,我们如何能够解决的寻址空间完整的32位(2 ^ 32) - 4 GB的那些三分球,如果很明显它们包含在其中的一些信息,使他们能够彼此分离,例如char*int*,所以这给我们留下了32个字节,但少了.

在输入这个问题时,我开始思考,也许它是所有的合成糖,真的是编译器?也许原始指针只是32位,它不关心类型?是这样的吗?

c

13
推荐指数
2
解决办法
3904
查看次数

如何在精灵工具包中创建进度条?

我想在Sprite Kit中创建自己的进度条.
我想我需要图像 - 一个完全空的进度条和填充的进度条.
我有那些图像,我把它们放在空的一个上面,它们是常规的,SKSPriteNodes现在我无法弄清楚如何在我需要的地方剪切我填充的图像?

如何在特定点剪切SKSpriteNode图像?也许质地?

ios progress-bar sprite-kit

13
推荐指数
2
解决办法
8722
查看次数

如何让相机跟随Sprite Kit中的SKNode?

我希望背景固定不同的物体(精灵和其他物体).

玩家将由将在世界各地移动的中心节点代表.我想让我的相机固定在中央节点,例如世界应该移动,相机应保持静止.

我如何实现这一目标?

ios sprite-kit

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

如何绘制SKNode PhysicsBody进行调试?

我用大小的矩形创建我的SKPhysicsBody,我将它设置为节点的大小,但碰撞检测不适用于节点的好部分.如何在物理体周围绘制红框?

我尝试使用精确的碰撞检测,但它没有帮助.我已经检查了一些调试库,但它只绘制了场景的直接后代,而我的节点深度很少.作者显然不知道递归是什么.

如果我的身体是矩形,我如何在物理体周围绘制红框?

ios sprite-kit

9
推荐指数
1
解决办法
2065
查看次数