测试时,Xamarin iOS UIButton图像未在设备上显示

时间:2016-02-10 12:16:00

标签: ios visual-studio xamarin uibutton testflight

我目前正在使用iOS设备在TestFlight上测试我的xamarin iOS应用。该应用程序运行正常,但我的UIButtons中的图像根本没有出现。

继承我的按钮代码:

    _uiAttributes.myScheduleImage = UIImage.FromFile("images/myschedule.PNG");
                _uiAttributes.myCareersImage = UIImage.FromFile("images/mycareer.PNG");
                _uiAttributes.mySocialImage = UIImage.FromFile("images/mysocial.PNG");
                _uiAttributes.FeedbackImage = UIImage.FromFile("images/feedback.PNG");
                _uiAttributes.myDetailsImage = UIImage.FromFile("images/mydetails.PNG");

buttonList = new List<UIButton>
            {
                _uiControls.btn_MySchedule,
                _uiControls.btn_MyCareer,
                _uiControls.btn_MySocial,
                _uiControls.btn_Feedback,
                _uiControls.btn_MyDetails
            };

buttonImageList = new List<UIImage>
            {
                _uiAttributes.myScheduleImage,
                _uiAttributes.myCareersImage,
                _uiAttributes.mySocialImage,
                _uiAttributes.feedbackImage,
                _uiAttributes.myDetailsImage
            };

我将此代码传递给Draw方法。

public void DrawImageButton(List<UIButton> buttonList, List<CGRect> buttonDimensionsList, List<UIImage> buttonImageList, UIView container)
        {
            for(int i = 0; i < buttonList.Count; i++)
            {
                buttonList[i].Frame = buttonDimensionsList[i];
                buttonList[i].SetImage(buttonImageList[i], UIControlState.Normal);

                container.AutoresizingMask = UIViewAutoresizing.FlexibleMargins;
                buttonList[i].AutoresizingMask = UIViewAutoresizing.FlexibleWidth;

                container.AddSubview(buttonList[i]);
            }
        }

当我在模拟器上运行它而不是我的实际设备时,按钮会显示出来。

我将在下面附上我的图片的屏幕截图: Resources/images

我已经检查了许多相关的答案,但它们都在Xcode中。我目前正在使用Visual Studio 2015来开发我的应用程序。

如果有人可以帮助或指出我的方向很好,那就很好。

1 个答案:

答案 0 :(得分:1)

所以我设法解决了这个问题。问题是我从未将复制到输出目录更改为&#34;始终复制&#34;在每个图像的属性面板中。此外,我必须说明正在加载的图像的路径。

_uiAttributes.myScheduleImage = UIImage.FromFile("images/myschedule.PNG");

感谢您的帮助!