1. 程式人生 > >使用OC通過陣列來存放圖片並加按鈕使之能夠切換照片

使用OC通過陣列來存放圖片並加按鈕使之能夠切換照片

 @interface ViewController ()

// 左邊按鈕

  @property(nonatomic,strong)UIButton *leftBtn;

// 右邊按鈕

 @property(nonatomic,strong)UIButton *rightBtn;

// 相框屬性和將圖片存入陣列

    @property(nonatomic,strong)UIImageView *myImageView;
    @property(nonatomic,strong)NSArray *imageNames;
    @end


    @implementation
ViewController
- (void)viewDidLoad { [super viewDidLoad]; self.imageNames = @[@"圖片名",@"圖片名",@"圖片名"];

// 設定相框位置及屬性

self.myImageView = [[UIImageView alloc]initWithFrame:CGRectMake(110, 100, 200, 200)];

// 匯入圖片 其中png格式的只需加上名字 其餘的均要加上字尾

 UIImage *image = [UIImage imageNamed:@"圖片名"];

// 將圖片匯入到相框當中

    self.myImageView.image = image;
    [self.view addSubview:self.myImageView];

//通過右邊按鈕實現圖片交換

 -(void)rightBtnAction

    //    切換到下一張圖片
    //    獲取是第幾張圖片

    {
NSInteger index = [self.imageNames indexOfObject:self.titleLabel.text];
    //    不是最後一張便可以切換

  if (index < 4)
    {
       if (index == 3
) { // 改變右邊按鈕顏色和關閉使用者互動 self.rightBtn.userInteractionEnabled = NO; UIImage *image = [UIImage imageNamed:@"right_disable"]; [self.rightBtn setBackgroundImage: image forState:(UIControlStateNormal)]; } else { // 左邊按鈕和顏色都處於正常狀態 self.leftBtn.userInteractionEnabled = YES; self.rightBtn.userInteractionEnabled = YES; UIImage *leftNormal = [UIImage imageNamed:@"left_normal"]; UIImage *rightNormal = [UIImage imageNamed:@"right_normal"]; [self.leftBtn setBackgroundImage:leftNormal forState:(UIControlStateNormal)]; [self.rightBtn setBackgroundImage:rightNormal forState:(UIControlStateNormal)]; } // 若不是最後一張那麼切換下一張圖片 通過定義的陣列實現 NSString *nextTitle = self.imageNames[index+1]; // 下一張圖片標題即為圖片名稱 self.titleLabel.text = nextTitle; // 下一張圖片即為陣列中的下個元素名字 self.myImageView.image = [UIImage imageNamed:nextTitle];} }

// 通過左邊按鈕實現圖片交換

  -(void)leftBtnAction
    {
            //    切換到上一張圖片
            //    獲取是第幾張圖片
    NSInteger index = [self.imageNames indexOfObject:self.titleLabel.text];
            //    不是第一張便可以切換
     if (index > 0)
 {
       if (index == 1)
        {
     //          左邊互動關閉
         self.leftBtn.userInteractionEnabled = NO;
         UIImage *image = [UIImage imageNamed:@"left_disable"];
         [self.leftBtn setBackgroundImage: image forState:(UIControlStateNormal)];

       else

   {
    //    左右兩邊按鈕都是正常狀態
 self.leftBtn.userInteractionEnabled = YES;
 self.rightBtn.userInteractionEnabled = YES;
 UIImage *leftNormal = [UIImage imageNamed:@"left_normal"];
 UIImage *rightNormal = [UIImage imageNamed:@"right_normal"];
                [self.leftBtn setBackgroundImage:leftNormal forState:(UIControlStateNormal)];
                [self.rightBtn setBackgroundImage:rightNormal forState:(UIControlStateNormal)];

   }

    //        若不是第一張那麼切換為上一張圖片 通過定義的陣列實現
  NSString *lastTitle = self.imageNames[index-1];
    //        上一張圖片標題即為圖片名稱
  self.titleLabel.text = lastTitle;
    //        上一張圖片即為陣列中的下個元素名字
  self.myImageView.image = [UIImage imageNamed:lastTitle];
        }

    }
 //  按鈕監聽
-(void)btnClickLister
  {
        NSLog(@"click btn");
  }

  //防止記憶體溢位
     -(void)didReceiveMemoryWarning
    { 
      [super didEeceiveMemoryWarning];
    }

    @end

相關推薦

使用OC通過陣列存放圖片按鈕使能夠切換照片

@interface ViewController () // 左邊按鈕 @property(nonatomic,strong)UIButton *leftBtn; // 右邊按鈕 @property(nonatomic

Mac搭建CentOS7虛擬機器配置網路使能夠SSH

參考文章:http://weslyxl.coding.me/2018/04/06/2018/4/Mac搭建虛擬CentOS伺服器環境/ 一、安裝時 在Parallels Desktop上安裝centOS時,軟體選擇:用KDE影象版本(這個主的還是裝個圖形介面吧,以後的小

C++ 中使用字元陣列存放未知長度的字串

#include<iostream> #include<string> using namespace std; int main() {    size_t arry_size = 10;    char * p_str = new char[

android 通過uri獲取bitmap圖片壓縮

很多人在呼叫相簿選擇圖片時會在onActivityResult中用Media.getBitmap來獲取返回的圖片,如下: Uri mImageCaptureUri = data.getData(); Bitmap photoBmp = null; if (mImageCap

Tomcat 配置虛擬目錄用存放圖片和訪問圖片

目的 配置tomcat虛擬目錄用來存放圖片和圖片的訪問; 操作步驟 1.點選工具欄的執行配置Edit Configurations Edit Configurations 2.在彈出的Run/debug Configurations中選中tom

Android中通過Picasso載入網路圖片通過ListView顯示出來。

在使用之前需要將Picasso的jar包匯入。 MainActivity程式碼: import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.o

PHP.25-TP框架商城應用實例-後臺1-添商品功能、鉤子函數、在線編輯器、過濾XSS、上傳圖片生成縮略圖

引用傳遞 none move 名稱 textarea 如果 library time fields 添加商品功能   1、創建商品控制器【C】  /www.test.com/shop/Admin/Controller/GoodsController.class.php

win7基礎 環境變量的配置 借助變量,通過拼接路徑

alt 中間 可用 步驟 學習資源 blog 字符串變量 images -1 註意事項:博文內容僅供參考,不可用於其他用途。 (我就是想把這個路徑加到環境變量中,以此來簡化java javac的使用步驟) (需要新建一個中間變量)

移動端通過ajax上傳圖片(文件)在前臺展示——通過H5的FormData對象

com 地址 ces 文件 只需要 capture val data als 前些時候遇到移動端需要上傳圖片和視頻的問題,之前一直通過ajax異步的提交數據,所以在尋找通過ajax上傳文件的方法。發現了H5裏新增了一個FormData對象,通過這個對象可以直接綁定html中

通過按鈕截取當前網頁成png或jpeg格式的圖片保存

jquer data 情況 ram ext class url head att <html xmlns="http://www.w3.org/1999/xhtml"><head> <script type="text/javascrip

使用canvas給圖片水印, canvas轉換base64,,canvas,圖片,base64等轉換成二進制文檔流的方法,將合成的圖片上傳到服務器,

web don 可能 work box rac return ros font 一,前端合成帶水印的圖片 一般來說,生成帶水印的圖片由後端生成,但不乏有時候需要前端來處理。當然,前端處理圖片一般不建議,一方面js的處理圖片的方法不全,二是有些老版本的瀏覽器對canvas

VBA批量導入圖片到多Word文檔標題(會飛的魚)

eas each CA AS forward IT lac for AD 感謝會飛的魚大牛~ 1 Public fp$, obmapp As Object 2 Sub kk() 3 文件夾瀏覽器 4 Application.ScreenUpdating = Fa

c# 擴展LINQ的order by函數支持通過字符串指定列名支持多列

排序 descend ID ide cti then tps class IT 本文借鑒了https://blog.csdn.net/lan_liang/article/details/68523451。 將字符串轉換為orderby的linq可以極大地減少重復勞動,可是該

陣列通過newInstance建立

Java中陣列是一個Class,所以我們可以也可以通過newInstance來建立陣列物件。在Java的反射機制中,通過 陣列的 class 物件的getComponentType()方法可以取得一個數組的Class物件, 通過Array.newInstance()可以反射生成陣列物件。下面我們看具

Java:假設車庫有3個車位(可以通過boolean[]陣列表示車庫)可以停車,寫一個程式模擬多個使用者開車離開,停車入庫的效果。注意:車位有車時不能停車。

假設車庫有3個車位(可以通過boolean[]陣列來表示車庫)可以停車,寫一個程式模擬多個使用者開車離開,停車入庫的效果。注意:車位有車時不能停車。 1)使用阻塞佇列來實現(BlockingQueue<T>) Producer類 package com.多執行緒停車問

FastDFS的Python客戶端 -- 通過客戶端上傳圖片訪問

本文的前提是已經啟動FastDFS的tracker和storage ㈠ 安裝 將檔案 fdfs_client-py-master.zip 存放在pycharm中,然後再終端進行安裝: pip install fdfs_client-py-master.zip (安裝包後

[那些年踩過的坑]pdf轉換為圖片的教程(pdf的Base64轉換為圖片的base64和自己不通過第三方實現pdf轉圖片的Dome)

  因為工作需要,要把PDF的64字串轉換為圖片的base64儲存到資料庫,但是看了看國內外,一方面是做這個的比較少,還有就是做這個真的很煩.   PDF轉圖片呢,大概的實現思路方式一般有兩種,一種就是重繪,類似於畫畫,把看到的畫到新的畫布上;第二種呢,就會識別裡面的內容複製到新的畫布上,我也不知道我比喻準

JAVA中建立HTTP通訊,從伺服器上獲取HTML程式碼,通過HTTP請求下載圖片或其他二進位制檔案的程式,下載結果要按下載到的檔案型別進行存檔中。

通過HTTP請求來下載圖片或其他二進位制檔案的程式,下載結果要按下載到的檔案型別進行存檔 將程式碼從伺服器的中獲取下來的程式碼,在我之前已經講過了這裡寫連結內容 這裡我們就直接將原始碼稍加改動,加入一個檔案並請將builder 寫入即可。 import

numpy通過陣列與PIL.Image物件的互轉進行圖片處理

------------------------------------------------語法基礎------------------------------------------------ import numpy                        

JS中通過指定大小壓縮圖片

前不久王二寫了一個圖片處理庫,可以指定圖片質量壓縮圖片,呼叫的是javaScript的原生方法 toDataURL 和 toBlob,庫裡有如下這些方法: 但是通過質量壓縮圖片有一些不足之處:無法確定壓縮後圖片的大小; 比如下圖,王二隨機選了三張圖片做測試(感興趣的小夥伴可以戳這裡自行測