将图像居中在ImageElement中

时间:2013-08-19 04:55:53

标签: xamarin.ios xamarin monotouch.dialog

当尝试将图像置于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;
        }
      }

1 个答案:

答案 0 :(得分:0)

当您的视图尚未设置帧时,您可能会设置中心。 Debbug你的getcell方法来检查框架属性。 我有类似的问题,并通过代码设置View.Frame矩形解决了它们。 X是(cell.Frame.Width - cell.Image.Width)/ 2,类似于Y.