当尝试将图像置于MonoTouch.Dialog中的自定义ImageElement中心时,我遇到了一些问题。我已经尝试了书中的每一项技巧,从设置图像的中心到单元格的中心,调整内容模式等。
我目前的做法:
public class MoveButtonElement : ImageElement, IElementSizing
{
UIActionSheet ActionSheet;
UIActionSheetDelegate ActionSheetDelegate;
static NSString key = new NSString ("ButtonElement");
public MoveButtonElement () : base (null) { }
protected override NSString CellKey
{
get
{
return key;
}
}
public float GetHeight (UITableView tableView, NSIndexPath indexPath)
{
return 53;
}
public override void Selected (DialogViewController dvc, UITableView tableView, NSIndexPath path)
{
// SetupAndShowActionSheet (dvc);
}
public override UITableViewCell GetCell (UITableView tv)
{
var cell = base.GetCell (tv);
cell.BackgroundView = null;
cell.BackgroundColor = UIColor.Clear;
cell.ContentMode = UIViewContentMode.Center;
cell.SelectionStyle = UITableViewCellSelectionStyle.None;
cell.ImageView.Image = Images.MoveVerseButton;
cell.ImageView.ContentMode = UIViewContentMode.Redraw;
return cell;
}
}
答案 0 :(得分:0)
当您的视图尚未设置帧时,您可能会设置中心。 Debbug你的getcell方法来检查框架属性。 我有类似的问题,并通过代码设置View.Frame矩形解决了它们。 X是(cell.Frame.Width - cell.Image.Width)/ 2,类似于Y.