小编Rhy*_*man的帖子

让UILabel生成省略号而不是缩小字体

当我动态更改UILabel的文本时,我宁愿得到省略号(点,点,点),而不是自动调整文本大小.怎么做到这一点?

换句话说,如果我的UILabel带有Cat大小字体14 的单词,然后我将单词更改Hippopotamus为字体缩小以适合所有单词.我宁愿自动截断这个词,然后是省略号.

我假设有一个参数可以在我的UILabel对象中更改.我宁愿不以编程方式执行此操作.

iphone xcode objective-c uilabel

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

添加为subView时,未调用UIViewController viewWillAppear

我有一个UIViewController我从另一个视图控制器内部加载,然后将其视图添加到UIScrollView.

self.statisticsController = [self.storyboard instantiateViewControllerWithIdentifier:@"StatisticsViewController"];
self.statisticsController.match = self.match;

[self.scrollView addSubview:self.statisticsController.view];
Run Code Online (Sandbox Code Playgroud)

我已经在统计视图控制器中放置断点并且viewDidLoad正在调用但viewWillAppear不是.

是因为我没有把它推到层次结构上还是什么?

objective-c uiscrollview uiviewcontroller viewwillappear ios

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

git存储库中的提交数

我的一个5个月的项目即将结束,作为无意义统计数​​据的粉丝,
我想知道自存储库开始以来已经提交了多少次提交.

我怎么找到它?

笔记:

  1. 我知道没有一个存储库,我只对本地版本感兴趣.

  2. 这在subversion中是微不足道的,因为修订标识符似乎是提交编号.

svn git

22
推荐指数
3
解决办法
2629
查看次数

Apple doc的GCD Producer-Consumer解决方案错了吗?

在Apple的并发编程指南的迁移远离线程部分中,有
改变生产者 - 消费者实现,声称可以使用GCD简化典型的多步骤pthread互斥+条件变量实现.

使用调度队列,您可以将生产者和消费者实现简化为单个调用:

dispatch_async(queue, ^{
  // Process a work item.
});
Run Code Online (Sandbox Code Playgroud)

当您的生产者要完成工作时,它所要做的就是将该工作添加到队列中并让队列处理该项目.

生产者 - 消费者问题也被称为有界缓冲问题,但上面没有提到缓冲区,它的边界或消费者,更不用说阻止生产者和消费者以避免过度/不足的运行.

这怎么可能是一个有效的解决方案?

macos multithreading producer-consumer grand-central-dispatch ios

16
推荐指数
1
解决办法
4454
查看次数

在iPhone应用程序中捕获60fps

我正在开发一个项目,我们将使用iPhone作为捕捉场景的摄像头.录制时我们需要录制@ 60fps而不是30fps(原生支持).所以我正在开发一个应用来做这个,因为iPhone 4S硬件支持720p @ 60fps(如果你越狱你的手机,你可以实现这一点).

有没有人知道如何在iOS上的Objective-C中做到这一点?今天我看到一个应用程序(slopro)可以在非越狱手机上录制60fps.任何建议或提示非常感谢.

iphone recording ios avcapturesession

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

touchesBegan什么时候成为touchesMoved?

当您在iPhone触摸屏上拖动手指时,它会touchesMoved以漂亮的常规60Hz 生成事件.

但是,从初始touchesBegan事件到第一个事件的转换touchesMoved不太明显:有时设备会等待一段时间.

还等什么呢?更大的时间/距离增量?更多接触到这个事件?

有人知道吗?

重要的是,这种延迟不会发生在随后的手指上,这使得第一次触摸处于明显的劣势.对于需要精确输入的应用程序,如游戏和乐器,这是非常不对称和坏消息.

要看到这个错误/现象在行动

  1. 慢慢将iPhone屏幕解锁滑块向右拖动.注意突然跳跃并注意如果你的另一个手指放在屏幕上的任何其他位置,它是如何不发生的

  2. 尝试在任意数量的3D游戏中穿过狭窄的桥梁"爬行".令人沮丧!

  3. 尝试一个双虚拟操纵杆游戏并注意到效果得到缓解,因为你不得不结束任何可以缓解不愉快的触摸.

应该在8个月前将其记录为一个bug.

iphone multi-touch uikit

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

如何在AWS Elastic Beanstalk上强制应用程序版本

我正在尝试使用部署新版本的Python/Django应用程序eb deploy.

遗憾的是,由于应用程序的意外版本而失败.问题是以某种方式eb deploy搞砸了版本,我不知道如何覆盖它.我上传的应用程序工作正常,只有版本号不正确,因此,Elastic Beanstalk将其标记为Degraded.

执行eb deploy时,我收到此错误:

"应用程序版本不正确"app-cca6-160820_155843"(部署161).预期版本"app-598b-160820_152351"(部署159)."

AWS Console的健康状态也是如此.

所以,我的问题如下:我如何强制Elastic Beanstalk使上传的应用程序版本成为当前版本,以便它不会抱怨?

python django amazon-ec2 amazon-web-services amazon-elastic-beanstalk

13
推荐指数
1
解决办法
3287
查看次数

我是否必须支持已越狱的iPhone?

我们距离将第一个应用程序提交到appstore还有几天的时间,昨晚我听到它在越狱设备上无法使用时感到震惊.我有几秒钟的设备,看到操作系统版本,并提供可用内存(36MB,我想这是低).

我应该关心吗?

据推测,越狱用户可以购买应用程序并撰写严厉的评论.如果是这样且越狱的iPhone很常见,那么iPhoneJB就成了我不得不支持的事实上的影子平台.

编辑

我得到了一些球场数据,听起来我应该关心新的事实上的影子平台.所以要么我可以尝试减少内存需求并交叉我的手指,或者拿出信用卡然后让我再用iPhone来越狱.

iphone jailbreak ios

11
推荐指数
3
解决办法
888
查看次数

DISPATCH_QUEUE_CONCURRENT和DISPATCH_QUEUE_SERIAL有什么区别

我实现了以下类:

class GCDStudy {

    func asyncSerial(time:Double){
        let queue = dispatch_queue_create("DISPATCH_QUEUE_SERIAL",DISPATCH_QUEUE_SERIAL)

        dispatch_async(queue){

            var i:Double = 0
            while(i < 3){
                i++
                print("asyncSerial -wait:\(time)-\(i)")

            }
        }

    }

    func asyncConcurrent(time:Double){

        let queue = dispatch_queue_create("DISPATCH_QUEUE_CONCURRENT",DISPATCH_QUEUE_CONCURRENT)

        dispatch_async(queue){
            var i:Double = 0
            while(i < 3){
                i++
                print("asyncConcurrent -wait:\(time)-\(i)")
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

并运行如下:

运行A:

gCDStudy = GCDStudy()
gCDStudy.asyncSerial(1)
gCDStudy.asyncSerial(2)
Run Code Online (Sandbox Code Playgroud)

跑B

vgCDStudy2 = GCDStudy()
gCDStudy2.asyncConcurrent(1)
gCDStudy2.asyncConcurrent(2)
Run Code Online (Sandbox Code Playgroud)

结果RunA:

asyncSerial -wait:1.0-1.0
asyncSerial -wait:2.0-1.0
asyncSerial -wait:1.0-2.0
asyncSerial -wait:2.0-2.0
asyncSerial -wait:1.0-3.0
asyncSerial -wait:2.0-3.0
Run Code Online (Sandbox Code Playgroud)

RunB的结果:

asyncSerial -wait:1.0-1.0
asyncSerial -wait:2.0-1.0
asyncSerial -wait:1.0-2.0
asyncSerial -wait:2.0-2.0 …
Run Code Online (Sandbox Code Playgroud)

grand-central-dispatch ios swift

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

按标识符定位包

我想从任意包标识符创建一个包,
例如com.apple.iokit.IOStorageFamily

这不是一个不合理的事情,因为bundle ID应该
是唯一的,但明显的代码不起作用:

NSString* bID = @"com.apple.iokit.IOStorageFamily";
NSBundle* bundle = [NSBundle bundleWithIdentifier:bID];
Run Code Online (Sandbox Code Playgroud)

此代码仅适用于您已加载的包
(问号,鸡和鸡蛋问题),事实上, 在您可以执行任何操作之前,您必须
了解比标识符更多的信息
.对于上面的ID样式,
我将最终组件转出并转换为其
/System/Library/Extensions/IOStorageFamily.kext
然后按路径加载.

这是最先进的技术还是有更普遍的方式?

macos cocoa

6
推荐指数
3
解决办法
4640
查看次数