Tag: 重绘

如何更新DetailView

我有一个基于Master-Detail模板的快速应用程序。 MasterView表中的每一行都基于从nib收到的自定义单元格。 每个单元格都包含UIlabel和UIbutton 。 该应用程序的逻辑如下。 如果用户点击一行DetailView显示一些细节取决于选定的行。 该行上的button不调用tableView(_, didSelectRowAtIndexPath) 。 如果用户点击一行内的button,只有属于DetailView的图像应该被更改( DetailView上的其他元素保持不变),但不是。 如果我select另一行并且select上一行,则更改后的图像将显示在DetailView ,如前所述。 问题是如何通过点击button来重绘DetailView的图像。 我试图做跟随,但没有成功: class MasterViewCell: UITableViewCell { weak var detailViewController: DetailViewController? @IBAction func buttonTap(sender: AnyObject) { //method to set new image detailViewController!.setNewImage() detailViewController!.view.setNeedsDisplay() } } class MasterViewController: UITableViewController { override func viewDidLoad() { super.viewDidLoad() let nib = UINib(nibName: "itemCell", bundle: nil) tableView.registerNib(nib, forCellReuseIdentifier: […]

IOS的iPhone 4s不重绘dynamic图像,最初是在视口之外

我一直在遭受一个错误: 我正在做类似如下的事情: $container.on('touchmove', function(){ $container.trigger( 'lazyload.appear'); }); $img.one( 'lazyload.appear', function(){ var that= this; var $self= $(that); $self.css('background-image', "url('real.path.to.img')" ); }); 但是,在iOS上,当初始位于视口之外时,重新绘制背景图像似乎存在问题。 当我拖动手指时,直到图像在视口中,除非我释放手指,否则图像不会被涂在屏幕上。 我试图以实时为目标,所以我希望一旦我做了触摸移动,图像就会被显示出来,但是当它最初在视口之外时,它会被触摸显示。 但是,console.log输出背景图像在释放手指之前已经改变。 当图像在视口内时,重新绘制很好,当我拖动手指时,它会立即重新绘制。 这似乎是一个错误,或者我错过了什么? 感谢您的帮助!

Xamarin.Forms – 强制ListView布局重绘

我有一个HasUnevenRows = true的ListView,其中每个单元格的内容是不同的开始,但内容也可以dynamic更改(通过单击单元格中的button)。 当ListView最初加载时, 系统必须执行计算 ,以便根据其内容正确确定和绘制每个单元格的高度。 但是,当我在初始加载之后更新内容时,同样的计算显然没有完成,因为单元格的高度没有改变 – 直到我将该项目滚动到视图之外,然后返回到视图。 我怎么能强制这个相同的计算和手动重绘,而不是完全刷新ListView? 我试图在.ForceLayout()包装ListView并在框架上调用.ForceLayout() ,但没有运气。

重新加载/刷新子视图 – setNeedsDisplay不工作

我有麻烦setNeedsDisplay。 我有一个UIView有很多子UIViews,在Inteface Builder中创build。 我也有一个IBActionbutton。 在这个IBAction我想重新绘制/重新加载所有的UIViews(或所有UIElements,如UILabel,UIWebView等..) 我正在做这个,这不适合我,不知道为什么..: //redraw the UIViews [self.view_card_0 setNeedsDisplay]; [self.view_card_1 setNeedsDisplay]; [self.view_card_stapel setNeedsDisplay]; //other UI Elements [self.webView_0 setNeedsDisplay]; [self.webView_1 setNeedsDisplay]; [self.webView_stapel setNeedsDisplay]; [self.lblCardTitle_0 setNeedsDisplay]; [self.lblCardTitle_1 setNeedsDisplay]; [self.lblCardTitle_stapel setNeedsDisplay]; [self.img_card_0 setNeedsDisplay]; [self.img_card_1 setNeedsDisplay]; [self.img_card_stapel setNeedsDisplay]; 怎么做重绘/重新加载/刷新所有UIElements / UIViews和子视图? 编辑1: 我如何加载视图: detailViewController = [[DetailViewController alloc] initWithNibName:@"DetailViewController_iPad" bundle:[NSBundle mainBundle]]; detailviewcontroller没有viewcontroller,只是uiviews,在这里hierarchie: 的UIView – UIViewContainer — UIView0 — […]