我在视图中有5个下拉列表。我想打开并关闭该drodownlist(UIView):
1.如果我点击第一个按钮,它将打开下拉列表,第二次点击它将关闭
2.如果在第一个按钮上打开一个下拉列表并点击第二个按钮,则第一个下拉列表将关闭,第二个下拉列表将打开。
我可以打开和关闭下拉列表(1)。但在第二种情况下,我无法做到。
这是我的代码。
MimeEntity sig = mmsg.BodyParts.Where(x => x.IsAttachment && x.ContentType.Name != null && x.ContentType.Name.EndsWith(".p7s")).Select(x => x).ToArray()[0];
MIME.MimeMessage mSig = new MIME.MimeMessage();
mSig.LoadBody(sig.ToString());
string cont = mSig.mContent;
byte[] siCont = enc.GetBytes(cont);
byte[ ] siCont64 = Convert.FromBase64String( cont );
foreach ( MimeEntity me in mmsg.BodyParts )
{
if ( !me.IsAttachment ) continue;
using ( MemoryStream ms2 = new MemoryStream( ) )
{
me.WriteTo( ms2 );
ms2.Position = 0;
MIME.MimeMessage msg2 = new MIME.MimeMessage();
msg2.LoadBody(me.ToString());
byte[] textb = enc.GetBytes(msg2.mContent);
byte[] hashb = sha.ComputeHash(textb);
ContentInfo inf = new ContentInfo(hashb);
SignedCms cms = new SignedCms(inf, true);
cms.Decode(siCont64);
try
{
// CertificateManager is a custom class and returns a X509Certificate2-Collection based on a config in my app
cms.CheckSignature( CertificateManager.GetCertificate( cfg ), false );
MessageBox.Show("luck");
}
catch ( Exception ex )
{
// hash is always wrong
}
}
}
这是动画下拉列表的功能
if ([self.DropDownView isDescendantOfView:self.view])
{
[self dropDownCloseAnimation:sender withTF:nil];
[self.DropDownView removeFromSuperview];
// [self performSelector:@selector(showMenu:) withObject:sender afterDelay:0.1];
}
else
{
[self.SinupView addSubview:self.DropDownView];
[self dropDownAnimation:sender withTF:nil];
}
答案 0 :(得分:0)
你应该使用你的逻辑,如下,
-(void)btn1Click{
Dropdown1Show=Yes;
DropDown2Show=NO;
DropDown3Show =NO;
DropDown4Show=NO;
}
-(void)btn2Click{
Dropdown1Show=NO;
DropDown2Show=YES;
DropDown3Show =NO;
DropDown4Show=NO;
}
-(void)btn3Click{
Dropdown1Show=NO;
DropDown2Show=NO;
DropDown3Show =YES;
DropDown4Show=NO;
}
-(void)btn4Click{
Dropdown1Show=NO;
DropDown2Show=NO;
DropDown3Show =NO;
DropDown4Show=YES;
}
答案 1 :(得分:0)
有不同的方法可以做到这一点,就像你可以使用一个下拉列表,并点击它的按钮更改框架和数据源。您可以使用tag属性来区分按钮和下拉列表。通过这种方式,您可以重用代码并轻松处理数据流。
感谢
答案 2 :(得分:0)
1-制作阵列
在屏幕上显示后,将每个下拉列表添加到数组
3-当你按下打开/关闭任何下拉列表的动作时,在我们刚刚做的数组上做一个循环
4-并在每次迭代时关闭每个下拉列表
5-打开发件人。
快乐的编码!
答案 3 :(得分:0)
试一下
This Drop down will help You.
https://github.com/BijeshNair/NIDropDown