小编fsc*_*idl的帖子

编辑时防止UITableViewCell(contentView)缩进

contentView.frame无论如何,是否可以保持始终如一tableView.editing?我已经试图覆盖layoutSubviews,willTransitionToState但这些选项也失败了.我似乎无法更改contentView的宽度.或者也许我的方法根本不可能......也许还有另一种解决方法.

我想实现的行为如下:我想标准textLabelUITableViewCell始终缩进而当进入的tableView编辑模式不改变位置.我可能面临的问题是detailTextLabel必须纠正意志的行为(例如,如果textLabel内容太长,则截断文本).我之所以不想实现自己UILabel的原因,是因为自定义子视图会大幅降低滚动性能.

我希望任何人都已经在他们UITableView身上实现了这样的东西,并且可以向我展示解决这个繁琐问题的方法.提前致谢!

编辑:我正在处理一个UITableView简单而不分组的风格.

iphone cocoa-touch uitableview uikit

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

Angular 2如何防止事件触发摘要循环/检测周期?

我们正在使用Angular 2实现拖放功能.

我正在使用该dragover事件来运行该preventDefault()功能.这样的drop事件就像这个问题中解释的那样.

dragover方法由onDragOver组件中的函数处理.

<div draggable="true"
    (dragover)="onDragOver($event)">
...
Run Code Online (Sandbox Code Playgroud)

在组件中,此功能可防止默认行为,允许将拖动的项目放在此目标上.

onDragOver(event) {
    event.preventDefault();
}
Run Code Online (Sandbox Code Playgroud)

这按预期工作.每隔几百毫秒就会触发一次dragover事件.

但是,每次onDragOver调用该函数时,Angular 2都会运行其摘要周期.这会降低应用程序的速度.我想在不触发摘要周期的情况下运行此功能.

我们使用的解决方法是订阅元素事件并在Angular 2的上下文之外运行它,如下所示:

constructor( ele: ElementRef, private ngZone: NgZone ) {
    this.ngZone.runOutsideAngular( () => {
        Observable.fromEvent(ele.nativeElement, "dragover")
            .subscribe( (event: Event) => {
                event.preventDefault();
            }
        );
    });
}
Run Code Online (Sandbox Code Playgroud)

这很好用.但有没有办法实现这一点,而无需直接访问nativeElement?

event-handling mouseevent angular

15
推荐指数
2
解决办法
5616
查看次数

精确的机器代码副本运行速度比原始功能慢50%

我一直在尝试从嵌入式系统上的RAM和闪存执行性能。为了快速进行原型制作和测试,我目前使用的是Arduino Due(SAM3X8E ARM Cortex-M3)。据我所知,Arduino运行时和引导程序在这里应该没有任何区别。

问题出在这里:我有一个用ARM Thumb Assembly编写的函数(calc)。calc计算一个数字并将其返回。(对于给定的输入,> 1s运行时)现在,我手动提取了该函数的汇编机器代码,并将其作为原始字节放入另一个函数中。确认这两个功能都驻留在闪存中(地址0x80149和0x8017D紧挨着)。通过反汇编和运行时检查已确认了这一点。

void setup() {
  Serial.begin(115200);
  timeFnc(calc);
  timeFnc(calc2);
}

void timeFnc(int (*functionPtr)(void)) {
  unsigned long time1 = micros();

  int res = (*functionPtr)();

  unsigned long time2 = micros();
  Serial.print("Address: ");
  Serial.print((unsigned int)functionPtr);
  Serial.print(" Res: ");
  Serial.print(res);
  Serial.print(": ");
  Serial.print(time2-time1);
  Serial.println("us");

}

int calc() {
   asm volatile(
      "movs r1, #33 \n\t"
      "push {r1,r4,r5,lr} \n\t"
      "bl .in \n\t"
      "pop {r1,r4,r5,lr} \n\t"
      "bx lr \n\t"

      ".in: \n\t"
      "movs r5,#1 \n\t"
      "subs r1, r1, #1 …
Run Code Online (Sandbox Code Playgroud)

performance assembly arm arduino cortex-m

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

UIButton backgroundImage stretchableImageWithLeftCapWidth:topCapHeight问题

我有一个UIButton指定宽度为200.其autoresizingMask属性设置为UIViewAutoresizingFlexibleWidth.A UIImage适用于此按钮的backgroundImage属性.这UIimage定义如下:

[[UIImage imageNamed:@"buttonimage.png"] stretchableImageWithLeftCapWidth:10 topCapHeight:0]
Run Code Online (Sandbox Code Playgroud)

buttonimage.png宽度为400像素(按钮的宽度为2倍,因为视网膜分辨率)并且表示圆角矩形.在纵向模式下,一切都很好.一旦用户旋转设备并且iPhone进入横向模式,UIButton就会拉伸.由于此行为,图像的左圆角边界保持不变(stretchableImageWithLeftCapWidth:),但右角也拉伸.是否有任何我忘记设置的属性,确保只有一个指定的像素(例如第十个像素)被拉伸而其他任何东西都保留了它的尺寸?

提前致谢!

编辑:如果我使用较小的图像,已经在纵向模式下拉伸,两个边框似乎都会被展开.

解决了! 如果您的图像被称为"myImage.png"并且它是视网膜版本,请将其命名为"myImage@2x.png"

iphone objective-c uibutton uikit uiimage

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

Angular 中绑定到简单字段、对象属性和 getter 的性能影响

[(ngModel)]="room"与绑定到对象的属性相比,绑定到简单字段(例如)时的性能是否有任何差异?(例如[(ngModel)]="lesson.room")如果是,为什么?

关于 getter:我的理解是否正确,绑定到 getter/setter 以及例如单向绑定到函数是不好的,因为该函数将在每个检测周期被调用,而 Angular 无法区分没有变化的情况以及实际发生更改并且实际上需要更新视图的情况?这应该使吸气剂成为这方面性能最低的选项。

data-binding binding angular

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

返回一个字符串

我刚开始使用Objective-C并且有一个(可能)非常非常基本的问题/问题.

int testf(int x){
    NSDateFormatter *dateformatter=[[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"dd.MM.yyyy"];
    NSString *infstr=[dateFormatter stringFromDate:[[NSDate] dateByAddingTimeInterval:(60*x)];
    return infstr;
}
NSString *testString=testf(1);
Run Code Online (Sandbox Code Playgroud)

我目前有以下问题:我不知道如何从函数返回一个字符串.我甚至无法通过谷歌解决这个问题.

上述代码会导致警告"没有强制转换的整数指针".我希望有人确实知道这个"问题"的解决方案,并愿意与我分享.

提前致谢.

objective-c

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

冲突类型 - 功能

以下代码导致"'testf'的冲突类型".有人有想法吗?

.H:

#import <UIKit/UIKit.h>
@interface RootViewController : UITableViewController {
}
@end
Run Code Online (Sandbox Code Playgroud)

.M:

#import "RootViewController.h"
@implementation RootViewController
- (void)viewDidLoad
{
    [super viewDidLoad];
    NSString *testString=testf(1);
}
NSString* testf(int x){
    NSDateFormatter *dateFormatter=[[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"dd.MM.yyyy"];
    NSString *infstr=[dateFormatter stringFromDate:[[NSDate date] dateByAddingTimeInterval:(60*x)]];
    [dateFormatter release];
    return infstr;
}
- (void)dealloc
{
    [super dealloc];
}
@end
Run Code Online (Sandbox Code Playgroud)

虽然这是我原始代码的精简版本,但它也不起作用.

确切的错误是"'testf'的冲突类型".还有一些警告,包括"隐含的功能声明'testf'在C99中无效".

提前致谢.

objective-c

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