小编Zor*_*mic的帖子

如何在UINavigationController中隐藏"后退"按钮?

你知道如何隐藏UINavigationController中的"后退"按钮吗?另外,如何展示它,但我猜这与隐藏它非常相似......

就像邮件应用程序在查看电子邮件时点击"编辑"一样在iPhone上执行.

iphone uinavigationcontroller ios

156
推荐指数
9
解决办法
8万
查看次数

如何将可变数量的参数"传递"给NSString的+ stringWithFormat:

我想在Objective-C中编写一个函数,例如下面的函数,它接受可变数量的参数,并将这些参数传递给+stringWithFormat:.我知道vsnprintf,但这意味着将NSString'格式'转换为C并返回(并且还意味着转换其中的格式化占位符......).

下面的代码编译,但当然不按我想要的行为:)

NSString *estr(NSString *format, ...) {
    va_list args;
    va_start(args, format);
    NSString *s = [NSString stringWithFormat:format, args];
    va_end(args);
    return s;
}
Run Code Online (Sandbox Code Playgroud)

基本上:是否有方法的va_list友好版本+stringWithFormat:,还是可以写一个?

iphone cocoa objective-c variadic-functions nsstring

31
推荐指数
1
解决办法
8055
查看次数

如何在iPhone上闪烁(或闪烁)光标?

我正在尝试在UIKit中创建一个自定义的"闪烁光标",我尝试过如下所示,有2个功能基本上一直保持相互调用,直到光标被隐藏.但这导致了一个很好的无限递归...由于某种原因,这些函数会立即相互调用,而不是像预期的那样每半秒.

我尝试返回如果'finished'参数不是YES(通过取消注释'if(!ok)'行),但这导致根本没有动画......

有什么好主意吗?我错过了什么,是否有一种更简单的方法来制作一个"闪烁的光标"?

- (void)onBlinkIn:(NSString *)animationID finished:(BOOL)ok context:(void *)ctx {
if (cursorView.hidden) return;
//if (!ok) return;
[UIView beginAnimations:nil context:UIGraphicsGetCurrentContext()];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDuration:0.5f];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(onBlinkOut:finished:context:)];
cursorView.textColor = [UIColor grayColor];
[UIView commitAnimations];
}

- (void)onBlinkOut:(NSString *)animationID finished:(BOOL)ok context:(void *)ctx {
if (cursorView.hidden) return;
[UIView beginAnimations:nil context:UIGraphicsGetCurrentContext()];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDuration:0.5f];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(onBlinkIn:finished:context:)];
cursorView.textColor = [UIColor clearColor];
[UIView commitAnimations];
}
Run Code Online (Sandbox Code Playgroud)

objective-c uikit ios

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

使用Jackson对带有排序键的序列化JSON

我正在尝试用Jackson替换groovy/grails项目中的自定义JSON(de)序列化.

我很难让杰克逊输出一个漂亮的JSON,其中的键按照简单的"自然"字母顺序排序.我试过这个(和许多变化):

mymap = [ ... ] // Some groovy map
def mapper = new ObjectMapper()
mapper.configure(SerializationConfig.Feature.SORT_PROPERTIES_ALPHABETICALLY, true)
def jsonstring = mapper.defaultPrettyPrintingWriter().writeValueAsString(mymap)
Run Code Online (Sandbox Code Playgroud)

但杰克逊顽固地生成一个JSON,其中键似乎是随机顺序.我尝试用TreeMap更改'mymap'的类型,在这种情况下,所有键都按预期正确排序.

我想知道是否有一种方法可以在将上面的'mymap'更改为TreeMap的情况下对键进行排序(并递归地将其所有的映射值...).

SORT_PROPERTIES_ALPHABETICALLY似乎是为了做到这一点,但由于某种原因它没有这样做.你知道为什么吗?我上面做错了什么?

我试过Jackson 1.8.3,1.8.8和1.9.5,结果相同(随机键).

grails groovy json jackson

14
推荐指数
2
解决办法
9836
查看次数

如何从Win32进程调用.NET DLL?

从Win32进程使用.NET DLL有哪些选择?我需要基本上使用Win32进程中的C#DLL.

我现在有一个可能的解决方案,需要将C#DLL添加到GAC(使用RegAsm.exe),然后通过COM包装调用调用C#DLL.然而,这个解决方案非常重.它要求在应该运行此Win32进程的所有计算机上将.NET DLL添加到GAC.

是否可以这样做而无需在RegAsm使用C#DLL之前调用?

.net c# mixed-mode

8
推荐指数
2
解决办法
3596
查看次数

如何在编辑模式下在 UITableView 中添加额外的单元格?

您知道如何在表格进入编辑模式后在表格视图中显示某些单元格吗?就像编辑联系人时“联系人”iPhone 应用程序所做的那样。

也许我错了,但是在编辑联系人时,它看起来像是使用了分组的​​ UITableView。

我试过这个:

[self.tableView setEditing:YES animated:YES];
[self.tableView insertSections:[NSIndexSet indexSetWithIndex:1] withRowAnimation:UITableViewRowAnimationBottom];
Run Code Online (Sandbox Code Playgroud)

我的表格在不编辑时只有 1 个部分,我想在编辑时添加一个额外的部分(为了简单起见),但是上面对“insertSections”的调用崩溃了(我的所有表格代表都很好地考虑了 1 或 2 个部分)根据 self.editing,我尝试在正常模式下显示两个部分,并且效果很好)

对于“numberOfSectionsInTableView”,我有:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    if (!self.editing) return 1;
    return 2;
}
Run Code Online (Sandbox Code Playgroud)

iphone cocoa-touch objective-c uitableview

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

Apple会将Mono Touch运行时与每部iPhone捆绑在一起吗?

对于Apple来说,与Novell谈判并将Mono Touch运行时(当然只有运行时)捆绑到每个iPhone和iPod Touch中都是一个好主意.甚至可以将它作为"一次性安装",在第一次使用Mono Touch下载应用程序版本时自动从App Store下载,使得每个后续的Mono Touch应用程序都可以轻松下载(无需运行时).

这样做会类似于将Bootcamp添加到OS X:它会让C#开发人员更容易加入聚会,但这并不意味着这些开发人员都会坚持使用C#...说服我购买的是什么Mac是Bootcamp - 我想我可以随时安装Windows,如果我不喜欢OS X(我喜欢硬件,所以没问题).6个月后,我正在使用OS X全职...

这样做会有任何技术问题吗?我认为只有各方都有优势,对任何人来说都不是一个缺点(除了少数不幸的Apple员工,他们必须在捆绑之前测试Mono Touch运行时的垃圾):

  • Novell之所以获胜,是因为Mono Touch变得更加可行(Mono Touch应用程序突然变得更轻松)
  • 开发人员获胜是因为现在工具带中还有一个工具
  • 许多C#开发人员对此非常感兴趣
  • 苹果公司之所以获胜,是因为这会给平台带来更多的关注,更多的开发者收入,更多潜在的优秀应用等等
  • 用户获胜是因为具有相同运行时副本的不同应用程序在其设备上累积的空间较少

将Mono Touch捆绑到iPhone OS会有一个主要的技术障碍吗?

编辑:将标题从"应该"更改为"Apple将捆绑运行时吗?",我认为预测这一点的共识对于考虑使用Mono Touch的人来说意义重大.

.net iphone xamarin.ios

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

如何限制用户不使用vb​​.net打开文件夹

是否可以限制用户打开子文件夹,如尝试打开文件夹时应显示"权限被拒绝"消息.如果是,请帮助我在winform中使用vb.net以及在asp.net中使用vb.net来解决这个问题

.net vb.net asp.net winforms

0
推荐指数
1
解决办法
1035
查看次数