我将开始一个重大项目,我必须选择我需要定位的iOS SDK版本.为此,我最近有关于在iPhone上使用ios 5和6的统计数据.
哪里可以找到这些统计数据?
我想强制用户使用我自己的init方法(例如-(id)initWithString:(NSString*)foo;
)而不是基本的[[myObject alloc]init];
.
我怎样才能做到这一点?
当我想在故事板编辑器窗口中调整UIViewController的大小时,我会:
之后,在故事板窗口中调整uiViewController的大小.
接下来,我选择视图控制器,单击:编辑>嵌入>导航控制器,问题是导航控制器是完整大小,与UIViewController的大小不同.我没有找到如何调整此导航控制器的大小.
我的键盘显示为textView,我想在用户按下导航栏上的后退按钮时隐藏它.
我试过这个:
-(void)viewWillDisappear:(BOOL)animated{
[myTextView resignFirstResponder];
}
Run Code Online (Sandbox Code Playgroud)
还有这个:
-(void)viewDidDisappear:(BOOL)animated{
[myTextView resignFirstResponder];
}
Run Code Online (Sandbox Code Playgroud)
但它不起作用,我怎么能这样做?
编辑:
我在这里找到了解决方案:
如果模态ViewController演示文稿样式为UIModalPresentationFormSheet,则iPad键盘不会被忽略
我生成一个包含base64图像的html字符串.当MFMailComposeViewController打开时,我会看到生成的电子邮件中的图像.当我发送并打开它时,图像不会显示,只有空方块.
我的代码
- (IBAction)actionShareByEmail:(id)sender {
if([MFMailComposeViewController canSendMail])
{
MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
picker.mailComposeDelegate = self;
NSString* subject = @"Environments list with qrcode";
[picker setSubject:subject];
[picker setMessageBody:[manager getHtmlWithEnvironments:nil] isHTML:YES];
[self presentViewController:picker animated:YES completion:nil];
}
}
-(NSString*)getHtmlWithEnvironments:(NSArray*)envDictionnaries{
NSMutableString* html = [[NSMutableString alloc]init];
[html appendString: @"<html><body>"];
for (NSDictionary *d in self.arEnvironments) {
UIImage* qrcode = [QRCodeGenerator qrImageForString:[d objectForKey:@"env_name"] imageSize:200.0];//Works fine
NSData *imageData = UIImagePNGRepresentation(qrcode);
NSString *encodedString = [imageData base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
[html appendString: [NSString stringWithFormat:@"<H3>%@</h3><img src=\"data:image/png;base64,%@\" width=\"200\" height=\"200\" alt=\"test\" /></br></br>",[d objectForKey:KEY_ENV_NAME],encodedString]];
}
[html …
Run Code Online (Sandbox Code Playgroud) 在很多示例中,人们使用闭包将函数作为参数传递:
sum.getSumOf(array: [1,2,3]) { [weak self] sum in
self?.result = sum
print(self?.result as Any)
}
Run Code Online (Sandbox Code Playgroud)
我知道这是为了自行车问题。但是传递一个函数而不是一个闭包呢?如何使这个功能“弱”?
例如:
class Calculator {
let sum = Sum()
var result = 0
// passing a function
func doSum() {
sum.getSumOf(array: [1,2,3], handler: store(sum:))
}
// vs use closure
func doSumWeakSelf() {
sum.getSumOf(array: [1,2,3]) { [weak self] sum in
self?.result = sum
print(self?.result)
}
}
func store(sum:Int){
result = sum
print(result)
}
}
Run Code Online (Sandbox Code Playgroud)
class Sum {
func getSumOf(array:[Int], handler: ((Int)->Void)) {
//step 2
var sum: …
Run Code Online (Sandbox Code Playgroud) 当我的应用程序运行时,它需要安装Microsoft Visual C++ 2010 Redistributable Package(x86).如何将其包含在我的应用设置中?
我使用Visual Studio 2010的安装向导来创建它.
我使用UIPasteboard
该类来使用具有多个应用程序的数据.该文档说,卸载创建者应用程序时会删除持久性.我做两个应用程序,一个用于复制,另一个用于过去:
创作者应用:
-(IBAction)paste:(id)sender{
UIPasteboard* pb = [UIPasteboard pasteboardWithName:@"mytext" create:YES];
tv_pasting.text = pb.string;
}
Run Code Online (Sandbox Code Playgroud)
读者应用:
-(IBAction)copy:(id)sender{
UIPasteboard* pb = [UIPasteboard pasteboardWithName:@"mytext" create:YES];
pb.persistent = YES;
pb.string = tf_copy.text;
}
Run Code Online (Sandbox Code Playgroud)
我在我的第一个应用程序中进行了文本复制,我粘贴在我的第二个应用程序上,文本被复制,一切都很好.之后,我卸载了我的两个应用程序并重新安装了阅读器应用程序 我粘贴...并且旧版本仍然可用.为什么?
我使用Reachability类来了解我是否有可用的Internet连接.问题是当wifi可用而不是互联网时,该- (NetworkStatus) currentReachabilityStatus
方法需要花费太多时间.
我的代码:
Reachability* reachability = [Reachability reachabilityWithHostName:@"www.apple.com"];
NetworkStatus remoteHostStatus = [reachability currentReachabilityStatus];
Run Code Online (Sandbox Code Playgroud)
应用程序暂时"冻结"在第二行.如何定义等待的最长时间?
我有2个本地应用程序"A"和"B".我希望应用程序"A"调用应用程序"B","B"用文件发送对"A"的响应.
Url方案是调用应用程序"B"的一个很好的解决方案,但是将文件发送到"A"是一个糟糕的解决方案.
如何在没有网址方案和没有外部服务器的情况下将文件从一个应用程序发送到另一个
ios ×6
objective-c ×5
back-button ×1
base64 ×1
c# ×1
closures ×1
email ×1
file-sharing ×1
function ×1
html ×1
ios5 ×1
ios6 ×1
iphone ×1
keyboard ×1
nsobject ×1
reachability ×1
storyboard ×1
swift ×1
uiimage ×1
uipasteboard ×1