小编Jos*_*eph的帖子

使用大小类以编程方式实现两种不同的布局

我有四个按钮布局.在肖像中,它们应该一个在另一个之上.在横向上,它们应该是两列,每列有两个按钮.

我在代码中实现了按钮 -​​ 非常简单:

UIButton *btn1 = [[UIButton alloc] init];
[self.view addSubview: btn1]; 

UIButton *btn2 = [[UIButton alloc] init];
[self.view addSubview: btn2]; 

UIButton *btn3 = [[UIButton alloc] init];
[self.view addSubview: btn3]; 

UIButton *btn4 = [[UIButton alloc] init];
[self.view addSubview: btn4]; 

NSDictionary *views = NSDictionaryOfVariableBindings(btn1, btn2, btn3, btn4);

[btn1 setTranslatesAutoresizingMaskIntoConstraints:NO];
[btn2 setTranslatesAutoresizingMaskIntoConstraints:NO];
[btn3 setTranslatesAutoresizingMaskIntoConstraints:NO];
[btn4 setTranslatesAutoresizingMaskIntoConstraints:NO];

// portrait constraints
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-(50)-[btn1]-(50)-|"
                                                                 options:0 metrics:nil views:views]];
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-(50)-[btn2]-(50)-|"
                                                                 options:0 metrics:nil views:views]];
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-(50)-[btn3]-(50)-|"
                                                                 options:0 metrics:nil views:views]];
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-(50)-[btn4]-(50)-|"
                                                                 options:0 …
Run Code Online (Sandbox Code Playgroud)

autolayout ios8 size-classes

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

CodeIgniter是大型应用程序的明智选择吗?

从开发的角度来看,我一直在阅读伟大的codeigniter.我确信使用该框架将使开发过程更快.但我问自己的问题是,单独制作的框架会不会满足您的需求?

CI虽然广告占用空间很小,却会"陷入困境",因为它基本上是一个框架框架(后面指的是PHP作为C的框架)?有没有很好的方法来分散负载?在CI中,是否存在任何大型应用程序?

谢谢卡斯帕尔.

php scalability codeigniter scale

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

使用可视格式NSLayoutConstraints对中视图

我试图使用可视化格式语言来居中视图.

[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-[_progressView(300)]-|" options:NSLayoutFormatAlignAllCenterY metrics:0 views:views]];
Run Code Online (Sandbox Code Playgroud)

(views是一个NSDictionaryOfVariableBindings包含_progressView)

它不会将我的视图(宽度:300)置于self.view(宽度:768)内.它将它与8像素边距对齐,好像我只会写@"H:|-[_progressView(300)".

是使用类似的东西来中心视图的唯一方法:?

[self.view addConstraint:[NSLayoutConstraint constraintWithItem:_progressView attribute:NSLayoutAttributeCenterX relatedBy:NSLayoutRelationEqual
                                                             toItem:self.view attribute:NSLayoutAttributeCenterX multiplier:1 constant:0]];
Run Code Online (Sandbox Code Playgroud)

谢谢

objective-c autolayout nslayoutconstraint ios7

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

带方角的UISegmentedControl

我想用子类修改UISegmentedControl来删除圆角.我似乎无法设置cornerRadius.使SegmentedControl比屏幕更宽(因此从角落"切掉")不是一种选择,因为我有4或5个段,然后它们的大小会有所不同.

有没有办法做到这一点?

谢谢

cornerradius uisegmentedcontrol ios ios5

21
推荐指数
5
解决办法
2万
查看次数

CodeIgniter 404找不到页面,但为什么?

我正在为两个应用程序(公共和管理应用程序)使用CodeIgniter.文档结构的重要元素是:

/admin
/admin/.htaccess
/admin/index.html
/application
/application/admin
/application/public
/system
.htaccess
index.php
Run Code Online (Sandbox Code Playgroud)

/admin/.htaccess文件如下所示:

DirectoryIndex index.php
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php/$1 [L,QSA]
Run Code Online (Sandbox Code Playgroud)

/admin/index.php有以下更改:

$system_folder = "../system";
$application_folder = "../application/admin"; (this line exists of course twice)
Run Code Online (Sandbox Code Playgroud)

/application/admin/config/routes.php包含以下内容:

$route['default_controller'] = "welcome";
$route['admin'] = 'welcome';
Run Code Online (Sandbox Code Playgroud)

欢迎是我的默认控制器.

当我调用域/管理员时,我收到404 Page Not Found错误.当我调用Domain/admin/welcome时,一切正常.在调试日志中,我收到以下错误消息:

DEBUG - 2010-09-20 16:27:34 --> Config Class Initialized
DEBUG - 2010-09-20 16:27:34 --> Hooks Class Initialized
DEBUG - 2010-09-20 16:27:34 --> URI Class Initialized
ERROR - 2010-09-20 16:27:34 --> 404 …
Run Code Online (Sandbox Code Playgroud)

php routes codeigniter http-status-code-404

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

即使应用未使用测试版软件提交,也会显示无效的工具链消息

我正在尝试将项目提交到应用商店.我意外地在最新的Xcode Beta中打开它 - 但没有保存或改变任何东西.

我使用Xcode 7.3.1提交了应用程序,当我尝试提交应用程序进行审核时,我收到了以下消息: "New apps and app updates must be built with the public (GM) versions of Xcode 6 or later, macOS, and iOS SDK. Don't submit apps built with beta software including beta macOS builds."

如果我查看存档的Info.plist,它还会提到我使用Xcode的公共版本

<key>DefaultToolchainInfo</key>
<dict>
    <key>DisplayName</key>
    <string>Xcode 7.3.1 Default</string>
    <key>Identifier</key>
    <string>com.apple.dt.toolchain.XcodeDefault</string>
</dict>
Run Code Online (Sandbox Code Playgroud)

Xcode beta版在提交时未打开,我也尝试重新启动然后重新提交.顺便说一下,我正在运行El Cap 10.11.6

我该怎么做才能解决这个问题?

谢谢

xcode ios

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

计算第n个根?

有没有办法在objective-c中计算double的第n个根?

我似乎找不到合适的功能.

math objective-c

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

为已弃用的方法添加注释

我有几种方法可以弃用.

我这样做有以下几点:

+(void)myMethod:(NSString*)abc __deprecated;
Run Code Online (Sandbox Code Playgroud)

这有效,但如何添加消息?像"使用methody xyz"之类的东西......

谢谢

xcode objective-c deprecated

7
推荐指数
2
解决办法
2933
查看次数

带有NSURL的UIActivityViewController到音频文件只显示空投

我正在尝试使用a UIActivityViewController来共享音频文件(.aac).它是我写入沙盒文档目录的临时文件.

NSURLinitWithActivityItem:方法中传递了一个.

[audioData writeToFile:[urlToAudioFile path] options:NSDataWritingFileProtectionNone error:&error];

UIActivityViewController *activity = [[UIActivityViewController alloc] initWithActivityItems:@[urlToAudioFile] applicationActivities:nil];
    [self.view.window.rootViewController presentViewController:activity animated:YES completion:^{
...
}];
Run Code Online (Sandbox Code Playgroud)

当我按下分享按钮时,它需要几秒钟,弹出活动表,唯一的选项是Airdrop.

如何才能显示电子邮件或iMessage等其他选项?是否有回调方法,以便我可以确定"共享"何时完成,以便我可以再次删除临时文件?

有没有办法让我添加音频文件而不必先将其写入磁盘?我不能以某种方式只是传递NSData对象?

ios uiactivityviewcontroller ios7

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

从内部块返回方法对象

我想知道如何正确地执行以下操作:我有一个返回NSData对象的方法.它NSData从a 获取对象UIDocument.该NSData对象可以得到很大,所以我想,以确保反应开始之前它完全加载.因此,我想从块本身返回方法的值.所以像这样:

- (NSData*)getMyData {
  MyUIDocument *doc = [[MyUIDocument alloc] initWithFileURL:fileURL];
  [doc openWithCompletionHandler:^(BOOL success) {

    if (success) {
      return doc.myResponseData; // this is to be the return for the method not the block
    }
  }];
}
Run Code Online (Sandbox Code Playgroud)

这会导致一个错误,因为return显然指blockreturn.

如何在不必使线程阻塞等待/循环的情况下完成此操作?

谢谢.

block objective-c ios uidocument completionhandler

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