小编Dea*_*ith的帖子

在顶部插入行时保持uitableview静态

我有一个tableView,我在顶部插入行.

虽然我这样做,但我希望当前视图保持完全静止,因此只有向上滚动时才会显示行.

我已经尝试保存底层UIScrollview的当前位置并在插入行之后重置位置,但这导致抖动,上下,尽管它最终返回到同一位置.

有没有一个很好的方法来实现这一目标?

更新:我使用的是beginUpdate,然后是insertRowsAtIndexPath,endUpdates.没有reloadData调用.

scrollToRowAtIndexPath跳转到当前单元格的顶部(在添加行之前保存).

我试过的另一种方法,最终以正确的速度结束,但有一个颤抖的是.

save tableView currentOffset. (Underlying scrollView method)
Add rows (beginUpdates,insert...,endUpdates) 
reloadData ( to force a recalulation of the scrollview size )
Recalculate the correct new offset from the bottom of the scrollview
setContentOffset (Underlying scrollview method)
Run Code Online (Sandbox Code Playgroud)

麻烦是reloadData导致scrollview/tableview开始短暂滚动,然后setContentOffset将它返回到正确的位置.

有没有办法让tableView在没有开始显示的情况下计算出它的新尺寸?

将整个事物包装在beginAnimation commitAnimation中也没有多大帮助.

更新2:这显然可以完成 - 当您下载更新时,请参阅官方Twitter应用程序.

iphone uitableview uiscrollview uikit

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

Ruby数组中的奇数(或偶数)条目

有没有快速的方法来获取Ruby中的数组中的所有其他条目?奇数或偶数条目值包含在奇数中.我希望能够像这样使用它:

array1 += array2.odd_values
Run Code Online (Sandbox Code Playgroud)

要么

puts array2.odd_values.join("-")
Run Code Online (Sandbox Code Playgroud)

例如

更新

这完全是我所追求的,但我确信有一个较短的版本.

array1.each_with_index do |item,index| 
  if (index %2 ==0) then 
    array2.push(item) 
  end
end
Run Code Online (Sandbox Code Playgroud)

ruby

53
推荐指数
8
解决办法
6万
查看次数

免费电话桥

在过去的几周里,作为iPhone开发和Objective-C的新手,我在CF和NS框架之间遇到了许多关于"免费桥接"的提及.

一个特定的例子是CFStream和NSStream.

是否存在记录所有这些桥梁以及如何使用它们的资源?它是否就像从一种类型的对象转换到另一种类型一样简单?

我问,目前我正在使用iPhone SDK中不严格允许的NSStream调用,并了解我应该使用CFStream调用.

编辑:关于TFB如何工作的有用文章

iphone macos objective-c

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

红宝石中的网络掩码到CIDR

我一直在使用ip-address gem,它似乎没有能力从表单的网络掩码转换

255.255.255.0 
Run Code Online (Sandbox Code Playgroud)

进入CIDR表格

/24
Run Code Online (Sandbox Code Playgroud)

有没有人有想法如何快速将前者转换为后者?

ruby ip

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

Doxygen ///在行尾注释

当我评论cvars时,我倾向于使用以下格式,因为我认为它更容易阅读.

UILabel *titleLabel; // The title label in the view
Run Code Online (Sandbox Code Playgroud)

我现在的客户端使用doxygen,所以我要回去把我的评论转换成doxygen格式,我希望这样就像

UILabel *titleLabel; /// The title label in the view
Run Code Online (Sandbox Code Playgroud)

不幸的是,这导致评论被附加到下一个cvar.

有没有办法告诉doxygen单行注释应该属于他们所在行的cvar?

documentation doxygen objective-c

6
推荐指数
1
解决办法
4028
查看次数

NSDate月加法和减法

我有一个班级,其中包含开始日期和结束日期,通常初始化为本月的最后一个月和最后一个月.

以下功能可以正常工作,从2010年11月开始到12月再返回,但是从11月开始倒退,最后将startDate设置为

2010-09-30 23:00:00 GMT

IE浏览器.一个月一小时前.

奇怪的是,endDate仍然正确设置为

2010-11-01 00:00:00 GMT

从这个不正确的日期前进一个月也会产生正确的时间和日期.

这是一个错误还是我在做一些我不应该做的事情?

-(void) moveMonth:(NSInteger)byAmount { // Positive or negative number of months
    NSCalendar *cal = [NSCalendar currentCalendar];

 NSDateComponents *components = [[[NSDateComponents alloc] init] autorelease];
 // Update the start date
 [components setMonth:byAmount];
 NSDate *newStartDate = [cal dateByAddingComponents:components toDate:[self startDate] options:0];
 [self setStartDate:newStartDate];

 // And the end date
 [components setMonth:1];
 NSDate *newEndDate = [cal dateByAddingComponents:components toDate:[self startDate] options:0 ];
 [self setEndDate:newEndDate];
}

解决方案:正确回答指出这是DST问题

如果您想要处理绝对时间和日期,那么使用以下内容可以避免涉及任何DST.

    NSCalendar *cal = [[NSCalendar alloc ] initWithCalendarIdentifier:NSGregorianCalendar] autorelease]; …

iphone objective-c ios

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

传递值是什么意味着Ruby?

我显然不太了解传递值.

irb(main):001:0> a="UPPER CASE STRING"
=> "UPPER CASE STRING"
irb(main):002:0> b=a
=> "UPPER CASE STRING"
irb(main):003:0> a
=> "UPPER CASE STRING"
irb(main):004:0> b
=> "UPPER CASE STRING"
irb(main):005:0> b.downcase
=> "upper case string"
irb(main):006:0> a
=> "UPPER CASE STRING"
irb(main):007:0> b.downcase!
=> "upper case string"
irb(main):008:0> b
=> "upper case string"
irb(main):009:0> a
=> "upper case string"
irb(main):010:0>
Run Code Online (Sandbox Code Playgroud)

为什么是小写,如果通过值然后不是一个副本?

这是因为a是String对象的(引用|指针),因此b是指针的副本而不是对象吗?

ruby

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